在kendo网格中扩展行时有条件地应用类

时间:2015-05-27 11:16:10

标签: javascript jquery kendo-ui kendo-grid

在我的Kendo网格的dataBound函数中,我想创建条件,如果扩展了标题的主行,则将类“customClass”应用于此行。 我试过了:

    $('.k-master-row.k-state-active td').each(function(){$(this).addClass('customClass')})

它不起作用,没有效果,在最好的情况下我可以将类应用于扩展行,无法在标题上执行此操作。有解决方案吗感谢

Angular JS:

 $scope.gridMaterialDefinitionProperties = function (dataItem) {

        return {
            dataSource: f_GetDataSourceMaterialDefinitionProperties(dataItem),
            dataBound: function (e) {

  //               $('.k-master-row.k-state-active td').each(function(){$(this).addClass('customClass')})
          $(this).parent().css( "color", "red" );
                f_OnDataBound(e);
            },

HTML:

<div kendo-grid="gridMaterialDefinitionProperties" k-options="gridMaterialDefinitionProperties(dataItem)">
    <div k-detail-template>
        <kendo-tabstrip>
            <ul>
                <li id="tabStripgridMaterialDefinitionHeadersPropertyAny" class="k-state-active">TXT_PROPERTY_ANY</li>
                <li id="tabStripgridMaterialDefinitionHeadersPropertiesComment">@PLanguageTexts.TXT_COMMENT</li>
            </ul>
            <div kendo-grid="gridMaterialDefinitionPropertyAny" k-options="gridMaterialDefinitionPropertyAny(dataItem)" ng-hide="dataSource.length===0">    </div>
            <div>
                <textarea class="textarea-gridComment" ng-model="dataItem.Comment" ng-change="OnCommentChange(dataItem, gridMaterialDefinitionProperties)"></textarea>
            </div>
        </kendo-tabstrip>
    </div>
</div>   

1 个答案:

答案 0 :(得分:1)

有两种方法可以确定当前是否扩展了一行:

  • 检查第一个单元格中箭头图标的CSS类 - 折叠的 k-plus 和展开的 k-minus
  • 检查下一个详细信息行的可见性。如果它具有 display:none; 样式,则该行将折叠。