【问题标题】:Remove Columnmenu.columns from kendo ui grid从 kendo ui 网格中删除 Columnmenu.columns
【发布时间】:2016-04-12 18:35:47
【问题描述】:

我今天正在使用 KENDO UI Grid,我需要在一个网格中,在 columnmenu 中有活动项目“升序排序、降序排序、列、过滤器”,但我还需要“列”项目消失在其他列,因此 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 个项目的菜单:

  1. 升序排序
  2. 降序排列
  3. 过滤器

现在我只需要“productName”列有所有 4 个声音,而“category”列(以及其他所有可能的列),菜单声音只包含:

  1. 升序排序
  2. 降序排列
  3. 过滤器

这可能吗?

求建议

【问题讨论】:

    标签: javascript kendo-ui kendo-grid


    【解决方案1】:

    无法直接配置,但您可以删除 Grid 的 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();
      }
    }
    

    【讨论】:

    • 还有一种方法可以从可隐藏列的列表中删除productName? @丹尼尔
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    相关资源
    最近更新 更多