我正在尝试使用带有一些虚拟数据的下拉框来实现自定义过滤器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>" : "" #',
},
...
当我点击过滤器时,我得到的是标准的“开始于”和文本输入。
我错过了什么?
答案 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