2016-04-12 105 views
1

今天我正在使用KENDO UI網格,我需要在列表菜單中有活動的項目「排序升序,排序降序,列,過濾器」,但我需要此外,「列」項在其他列中消失,因此,ppl只能從第一列隱藏。 例如, 在這段代碼從kendo ui網格刪除Columnmenu.columns

<div id="grid"></div> 
<script> 
$("#grid").kendoGrid({ 
    columnMenu:true, 
    filterable: true, 
    sortable: true, 
    columns: [ 
     { field: "productName" }, 
     { field: "category" } 
    ], 
    dataSource: [ 
     { productName: "Tea", category: "Beverages" }, 
     { productName: "Coffee", category: "Beverages" }, 
     { productName: "Ham", category: "Food" }, 
     { productName: "Bread", category: "Food" } 
    ] 
}); 
</script> 

的結果將是,在每一個專欄中,我會得到一個菜單,4項:

  1. 升序
  2. 降序排序
  3. 過濾器

現在我需要的是隻爲「產品名稱」列有所有4種聲音,而對於「類別」的列(以及所有其他可能的列),菜單聲音只包含:

  1. 升序
  2. 排序降
  3. 過濾器

是可能的嗎?

TY任何意見

回答

0

這是不可能直接配置這一點,但你可以去除網格的columnMenuInit事件中的「列」菜單項(見http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-columnMenuInit):

columnMenuInit: function(e) { 

    // Only remove if column is not 'productName' 
    if (e.field != "productName") { 
    // Remove the item from the menu via JQuery 
    e.container.find(".k-columns-item").remove(); 
    } 
} 
+0

完美地工作!謝謝你,兄弟! – Came19xx

+0

還有一種方法可以從可隱藏列的列表中刪除productName? @Daniel – Came19xx