Kendo UI Grid:隐藏detailInit网格,如果它没有任何数据

时间:2012-11-12 19:08:09

标签: css asp.net-mvc kendo-ui

我正在使用KendoUI层次结构网格来显示父/子数据。

我能够正确填写所有内容并填充网格,但在某些情况下,父数据没有相应的子记录。

发生这种情况时,仍会显示子网格标题,但没有相应的记录。我想完全隐藏网格,或者至少不显示标题(这将呈现几乎相同的东西)。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您没有共享任何代码,因此我们可以更好地了解您当前的设置究竟是什么 - 根据您的配置,有不同的方法。

您是否拥有主网格模型的属性,您可以使用该属性来确定您是否有子记录?

如果没有这样的属性,您将需要初始化您的子Grid,它应该执行请求。根据响应,您可以使用dataBound事件并在没有记录时隐藏网格。 或者您也可以这样做 - 您可以最初隐藏网格,并在 dataBound 事件发生时显示任何记录。

如果您在主行中有属性,表明没有子记录,您可以使用网格的detailInit事件来完全删除子网格或隐藏它。

答案 1 :(得分:1)

在某些情况下我需要隐藏子网格(取决于一个变量)。我做的是:

detailInit: function (e) {
                    if (globalVariable == "SomeValue") {
                        div = jQuery("<div class = 'addMaterialVendors'/>");
                        subGrid = MethodToCreateSubgrid(div, variables, e.data);
                        div.appendTo(e.detailCell);
                    }
                    else {
                        $(".k-hierarchy-cell").remove();
                        $(".k-hierarchy-col").remove();
                    }
                },