如何在kendo ui中隐藏详细网格的展开/折叠图标

时间:2013-06-15 05:13:40

标签: kendo-ui kendo-grid

我正在使用kendo ui网格细节模板。在网格中我有一个下拉列表,其中包含一些值,如下拉列表,文本框等。如果我添加新记录,那么我不想显示展开/折叠图标。选择下拉列表后,所选值将下拉,只有我想显示展开/折叠图标。我怎么能用kendo ui做到这一点。希望你理解我的问题。      我试图像这样

在dataBound事件中访问它
     dataBound: function (e) {         

                var dataSource = this.dataSource;         
                this.element.find('tr.k-master-row').each(function() {

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

                });
            }

5 个答案:

答案 0 :(得分:3)

试试这个:

function dataBound() {
    var grid = this;

    //expand all detail rows
    grid.tbody.find("tr.k-master-row").each(function () {
        grid.expandRow($(this));
    })

    //remove hierarchy cells and column
    $(".k-hierarchy-cell").remove();
    $(".k-hierarchy-col").remove();
}

希望这会有所帮助......

答案 1 :(得分:1)

另一种选择是将Width()设置为隐藏。

function dataBound() {
    $(".k-hierarchy-cell", "#gridName").width(0.1);
    $(".k-hierarchy-col", "#gridName").width(0.1);
}

答案 2 :(得分:0)

如果您使用Kendo的MVC助手,那么这样做会更容易:

$(".k-hierarchy-cell").hide();
$(".k-hierarchy-col").remove();

它会隐藏第一个默认列(带图标),但同时会将其他列保持在正确的位置。

答案 3 :(得分:-1)

                                          一些内容                                           $(document).ready(function(){                     var element = $(“#grid”)。kendoGrid({                         数据源: [                           {FirstName:“ name1”,hasChildren:true},                           {FirstName:“ name2”,hasChildren:false}                         ],                         高度:550,                         可排序:正确,                         分页:假,                         detailTemplate:kendo.template($(“#template”)。html()),                         detailInit:detailInit,                         dataBound:函数(e){                             var items = e.sender.items();                             items.each(function(){                               var row = $(this);                               var dataItem = e.sender.dataItem(row);                               if(!dataItem.hasChildren){                                 row.find(“。k-hierarchy-cell”)。html(“”); //它将隐藏                               }                             })                         },                         列: [                             {                                 字段:“名字”,                                 标题:“名字”,                                 宽度:“ 120px”                             }                         ]                     });                 });                 函数detailInit(e){                 }                      

答案 4 :(得分:-1)

要有条件地显示网格行详细信息箭头,请将数据绑定事件添加到具有详细信息模板的网格中。在数据绑定事件中,调用此函数:

                dataBound: function (e) {                            // on data bound
                    var items = e.sender.items();                    // find all rows
                    items.each(function() {                          // for each row
                        var row = $(this);                           // 
                        var dataItem = e.sender.dataItem(row);       // get the data item of the row
                        if (!dataItem.HasChildren) {                 // check for children
                            row.find(".k-hierarchy-cell").html("");  // if no children, hide arrow
                        }
                    });
                }