如何隐藏详细网格中的详细指标?

时间:2016-02-01 21:44:13

标签: jquery kendo-ui kendo-grid

当我的行的组级别为0时,我在尝试隐藏详细信息指示符时出现问题。

以下是我有行更改颜色的代码的一部分,我认为我应该可以隐藏详细指示符......

    dataBound: function (e) {
        var data = this.dataSource.data();
        $.each(data, function (i, row) {
            if (row.get("globalGroupLevel") == 0) {
                var element = $('tr[data-uid="' + row.uid + '"] ');
                element.addClass("colored-row");

                // 4rth attempt
                //this.collapseRow(this.tbody.find(">tr.k-master-row"));
                //element.collapseRow(this.tbody.find(">tr.k-master-row"));

                // 3rd attempt
                //this.tbody.find("tr.k-master-row>.k-hierarchy-cell>a").hide();

                // 1rst attempt
                //element.removeClass("td.k-hierarchy-cell .k-icon");

                // 2nd attempt
                //var masterRow = this;//.element.closest("tr.k-detail-row").prev();
                //$("#CatalogGrid").data("kendoGrid").collapseRow(masterRow);
                //masterRow.find("td.k-hierarchy-cell .k-icon").removeClass();
            }
        });
    }

你可以看到我把我的尝试注释掉了以及我尝试了什么。 因此,当globalGroupLevel等于0时,您可以看到我的行变为蓝色,这是详细指示符不应该出现的时候......

这是一个通常看起来像的截图

Screen A

以及我在尝试时的样子

Screen B

这就是我试图让它看起来的方式

Screen C

任何想法?并且重申一下,当globalGroupLevel为= 0

时,需要隐藏详细指示符

1 个答案:

答案 0 :(得分:0)

尝试使用dataBound中的内容:

dataBound: function() {
    var dataSource = this.dataSource;         
    this.element.find('tr.k-master-row').each(function() {
       var row = $(this);            
       var data = dataSource.getByUid(row.data('uid'));
                // this example will work if ReportId is null or 0 (if the row has no details)
       if (!data.get('globalGroupLevel')) {
         row.find('.k-hierarchy-cell a').css({ opacity: 0.3, cursor: 'default' }).click(function(e) { e.stopImmediatePropagation(); return false; });
       }
    });
}

希望这个帮助

编辑:为了方便起见,我做了一个隐藏所有Detai指标的例子 现在你只需要进行验证即可隐藏。

http://dojo.telerik.com/ALeNa