Kendo Grid Column Filterable模式:" Row"和"菜单"

时间:2015-03-06 19:59:10

标签: kendo-grid

对于Kendo UI Grid,可以选择将可过滤设置为行或菜单或两者。我想知道是否可以将某些列设置为行(仅作为行),而其他列则显示为菜单(仅作为菜单)。最好不要用css。

示例:我希望字段名称为行过滤器,而age要成为菜单过滤器

<script>
      $("#grid").kendoGrid({
  dataSource: ...
  filterable: { 
    operators: {
      string: {
        startswith: "Starts with",
        eq: "Exact Client Name",
        contains: "contains"
      },
      number: {
        gte: "From",
        lte: "Before"
    }
   },
   mode: "row" },
   column: [ { field: "ClientName", title: "Client Name", width: 150, type: "string" , attributes: { style: "text-align:left;" }, filterable: { messages: { info: "Show clients that: " }, extra: false} },
             { field: "Month", title: "Month", width: 78, type: "number", attributes: { style: "text-align:center;" }, filterable: { messages: { info: "Show month(s): ", and: "To" }, ui: monthFilter, mode: "menu" } }
   ]
 });
</script>

1 个答案:

答案 0 :(得分:3)

我找到了解决方案。可能不是最好的解决方案,但对于需要它以供将来参考的任何人,我使用了以下解决方案。 将可过滤模式设置为模式:&#34;行,菜单&#34;

   filterable: {
      cell: { enabled: false}   
    }

消除不需要的行过滤器。并使用jquery

databinding: function(e){
     $("#grid-name .k-grid-filter .k-filter").css('display', 'none');
     $("#grid-name ").find("[data-field=Month]>.k-grid-filter .k-filter").css('display', 'block');
}

消除不需要的列菜单过滤器。