从kendo ui网格中删除Columnmenu.columns

时间:2016-04-12 18:35:48

标签: javascript kendo-ui kendo-grid

我今天正在使用KENDO UI Grid,我需要在一个网格中,在列菜单中有活动项“排序升序,排序降序,列,过滤器”,但我还需要“列”项目消失其他列,以便ppl只能隐藏第一列。 例如, 在此代码中

<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个项目的menù:

  1. 升序排序
  2. 降序排序
  3. 过滤
  4. 现在我只需要“productName”列中有4个声音,而对于“category”列(以及其他每个可能的列),菜单声音仅包含:

    1. 升序排序
    2. 降序排序
    3. 过滤
    4. 可能吗?

      任何建议

1 个答案:

答案 0 :(得分:0)

无法直接配置,但您可以删除&#39;列&#39;网格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();
  }
}