Kendo 网格的列可过滤 属性 "ui" 在指定 属性 "multi:true" 时不起作用
Kendo Grid's column filterable property "ui" not working when property "multi:true" specified
我正在尝试为 Kendo 网格列创建一个多复选框过滤器。对于此功能,我在列的可过滤项上使用 "multi:true" 属性。我还想使用 "ui" 回调函数,当我设置了 "multi:true" 属性 时,它似乎不起作用。如果我删除此 属性,则会调用 "ui:function(e){}"。
有什么方法可以同时使用这两种方法吗?
Here is a link to the demo I am trying
提前致谢!
columns.filterable.ui 用于制作自定义过滤器菜单,因此如果您选择使用它,请使用它来创建过滤器 UI 以及您想要的任何过滤器初始化。
如果您只想初始化过滤器,请使用 filtermenuopen event.
<div id="grid"></div>
<script>
$(document).ready(function () {
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/Products",
dataType: "jsonp"
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
columns: [
{ field: "ProductName", title: "Product Name", filterable:{
multi:true
}
}
],
filterable: true,
filterMenuOpen: function(e) {
if (e.field == "ProductName") {
e.container.find("input[type=checkbox]").prop('checked', true);
}
}
});
});
</script>
设置网格数据源的过滤器属性就可以了。
<div id="grid"></div>
<script>
var onlyOnce = false;
$(document).ready(function () {
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/Products",
dataType: "jsonp"
}
},
filter: {
logic: "or",
filters: [
{ field: "ProductName", operator: "eq", value: "Chai" },
{ field: "ProductName", operator: "eq", value: "Chang" }
]
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
columns: [
{ field: "ProductName", title: "Product Name", filterable:{
multi:true
}
}
],
filterable: true
});
});
</script>
我正在尝试为 Kendo 网格列创建一个多复选框过滤器。对于此功能,我在列的可过滤项上使用 "multi:true" 属性。我还想使用 "ui" 回调函数,当我设置了 "multi:true" 属性 时,它似乎不起作用。如果我删除此 属性,则会调用 "ui:function(e){}"。
有什么方法可以同时使用这两种方法吗?
Here is a link to the demo I am trying
提前致谢!
columns.filterable.ui 用于制作自定义过滤器菜单,因此如果您选择使用它,请使用它来创建过滤器 UI 以及您想要的任何过滤器初始化。 如果您只想初始化过滤器,请使用 filtermenuopen event.
<div id="grid"></div>
<script>
$(document).ready(function () {
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/Products",
dataType: "jsonp"
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
columns: [
{ field: "ProductName", title: "Product Name", filterable:{
multi:true
}
}
],
filterable: true,
filterMenuOpen: function(e) {
if (e.field == "ProductName") {
e.container.find("input[type=checkbox]").prop('checked', true);
}
}
});
});
</script>
设置网格数据源的过滤器属性就可以了。
<div id="grid"></div>
<script>
var onlyOnce = false;
$(document).ready(function () {
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/Products",
dataType: "jsonp"
}
},
filter: {
logic: "or",
filters: [
{ field: "ProductName", operator: "eq", value: "Chai" },
{ field: "ProductName", operator: "eq", value: "Chang" }
]
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
columns: [
{ field: "ProductName", title: "Product Name", filterable:{
multi:true
}
}
],
filterable: true
});
});
</script>