KendoUI网格自定义过滤器UI

时间:2013-02-25 06:47:57

标签: javascript jquery kendo-ui kendo-grid

我正在尝试使用带有一些虚拟数据的下拉框来实现自定义过滤器UI。我已经按照剑道网站(http://demos.kendoui.com/web/grid/filter-menu-customization.html)上的教程进行了操作,但它对我不起作用:(。

以下是自定义用户界面的功能:

function relStatFilter(element)
  {
    element.kendoDropDownList({
      dataSource: ["Prospect", "Customer"],
      optionLabel: 'Select status'
    })
  }

以下是它应用于的列参数:

...
{
            field: 'relStat', 
            filterable: 
            {
                ui: relStatFilter, 
                extra: false
            }, 
            title: '<abbr title=\'Relationship status\'>Rel stat</abbr>', 
            template: '#= ratio == 0 ? "<span class=text-info>Prospect</span>" : relStat == "Active" ? "<span class=text-success>Active</span>" : relStat == "At risk" ? "<span class=text-warning>At risk</span>" : "" #', 
        }, 
...

当我点击过滤器时,我得到的是标准的“开始于”和文本输入。

我错过了什么?

1 个答案:

答案 0 :(得分:5)

自2012.3.1315开始提供自定义过滤用户界面。确保您没有使用旧版本。使用2012.3.1315,以下代码按预期工作:

$("#grid").kendoGrid({
  dataSource: [ { name: "Foo" }, { name: "Bar" }],
  filterable: {
    extra: false,
    operators: {
      string: {
        eq: "Is equal to",
        neq: "Is not equal to"
      }
    }
  },
  columns: [
    {
      field: "name",
      filterable: {
        ui: function(element) {
          element.kendoDropDownList({
            dataSource: [ "Foo", "Bar"]
          });
        }
      }
    }
  ]
});

这是一个现场演示:http://jsbin.com/uwiqow/1/edit

相关问题