2012-11-12 111 views
1

我正在使用KendoUI層次結構網格來顯示父/子數據。Kendo UI Grid:如果它沒有任何數據,請隱藏detailInit網格

我能夠正確填充所有內容並獲取網格填充,但在某些情況下父數據沒有相應的子記錄。

發生這種情況時,子網格標題仍顯示爲沒有相應的記錄。我想完全隱藏網格,或者至少不顯示標題(這會渲染幾乎相同的東西)。

任何想法?

回答

1

你沒有共享任何代碼,所以我們可以有一個更好的想法是什麼,你的當前設置 - 有不同的方法取決於你的配置。

您是否擁有主網格模型的屬性,您可以使用它來確定是否有子記錄?

如果沒有這樣的屬性,你將需要初始化你的子網格,它應該執行一個請求。根據響應,您可以使用dataBound事件並在沒有記錄時隱藏網格。 或者你可以做相反的事情 - 你可以使Grid初始隱藏,並在發生事件時顯示它是否有任何記錄。

如果您在主行中有指示沒有子記錄的屬性,則可以使用網格的detailInit事件來完全刪除子網格或將其隱藏。

0

我需要在某些情況下隱藏子網格(取決於一個變量)。我做的是:

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(); 
        } 
       },