2012-10-19 104 views
3

已經有一段時間的研究,試圖掩蓋一個劍道格表隱藏列的jQuery或JS

指定列使用此

$('#grid .k-grid-content table tr td:nth-child(8),th:nth-child(8)').toggle(); 

沒有幫助,任何人都有自己的想法?

我想隱藏的列綁定到

   { 
       field: "CreatedDate", 
       width: 20, 
       title: "Create Date", 
       type: 'date', 

       template: '#= kendo.toString(CreatedDate,"MM/dd/yyyy") #' 
      } 

[編輯]

$('#grid div.k-grid-header-wrap th:nth-child(4)').toggle() 
$('#grid div.k-grid-content td:nth-child(4)').toggle() 

只能隱藏header..but不整列,仍需要幫助!

回答

0

嘗試這種情況:

$('#grid div.k-grid-header-wrap th:nth-child(4)').toggle(); 
$('#grid div.k-grid-content td:nth-child(4)').toggle(); 

或(組合成單個選擇器):

$('#grid div.k-grid-header-wrap th:nth-child(4), #grid div.k-grid-content td:nth-child(4)').toggle(); 

劍道UI網格表顯然分解成這樣的結構:

<div id="grid"> 
    <div class="k-grouping-header"></div> 
    <div class="k-grid-header"> 
     <div class="k-grid-header-wrap"> 
      <table cellspacing="0"> 
       <colgroup> 
        <col /> 
       </colgroup> 
       <thead> 
        <tr> 
         <th></th> 
        </tr> 
       </thead> 
      </table> 
     </div> 
    </div> 
    <div class="k-grid-content"> 
     <table class="k-focusable" cellspacing="0"> 
      <colgroup> 
       <col /> 
      </colgroup> 
      <tbody> 
       <tr data-uid="5f65ad8c-601d-4700-a176-23be2d33fc76"> 
        <td></td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
    <div class="k-pager-wrap k-grid-pager k-widget" data-role="pager"> 
    </div> 
</div> 

由於表頭和表體在不同div元素中,因此需要兩個選擇器才能獲得他們倆。

+0

只能隱藏標題,而不是整個列。 –

+0

@cool_spirit:如果你去http://demos.kendoui.c​​om/web/grid/index.html並運行'$('#grid div.k-grid-header-wrap th:nth-​​child(4) ,#grid div.k-grid-content td:nth-​​child(4)')。toggle();'在控制檯中,**整個**「標題」列(包括標題單元格)**將* *切換(實際上,在將我的答案包括在內之前,我是如何測試上述代碼的)。 – pete

+0

這裏有個奇怪的地方,我嘗試了很多方法,假設它們是在邏輯中工作的,事實上它不能工作,真的讓它感到沮喪 –

24

假設#grid已綁定的劍道網格,您可以使用hideColumn function

var grid = $("#grid").data("kendoGrid"); 
grid.hideColumn("CreatedDate"); 

這將隱藏兩個頭和數據列。當您需要顯示該列時,還有一個showColumn function

+0

清潔,簡單,並使用kendo的內置API。也參考API。 +1爲一個偉大的答案! – pete

+0

完美。整潔而簡單。 –

1

根據屏幕大小顯示或隱藏特定列。
當屏幕比X小時,表達式爲真。

hidden: ($(window).width() < 1350) 

(在列部分定義)

columns: [{ 
    field: "Answers", 
    title: "Answers", 
    width: 35, 
    hidden: ($(window).width() < 1350) 
},{ 
    ...