使用服务器端过滤,我想用一个由多个属性组成的对象响应来自 kendo MultiSelect 小部件的每个请求,其中一个是要在下拉列表中枚举的数据项。
看起来我需要指定schema.data。但我还没有弄清楚如何使用 MVC 包装器指定schema.data 。这是可能的还是有其他方法可以做到这一点?
这是我的自定义 MultiSelectBuilder 代码:
MultiSelectBuilder BuildSelector(HubAssemblyFieldEnums.FilterFields field, string placeHolder, string dataValueField, string dataTextField = default(string), string itemTemplate = default(string), string tagTemplate = default(string)) {
var name = System.Enum.GetName(typeof(HubAssemblyFieldEnums.FilterFields), field);
var multiSelect = Html.Kendo().MultiSelect()
.Name(name)
.Placeholder(placeHolder)
.HighlightFirst(true)
.Filter(FilterType.Contains)
.AutoBind(false)
.DataSource(_ => _.Read(read => {
read.Action("getFilterValues", "api/hubassembly")
.Type(HttpVerbs.Post)
.Data("function(e) { return getFilters(e, filterEnum." + name + "); }");
})
.ServerFiltering(true));
if (dataValueField != default(string)) { multiSelect.DataValueField(dataValueField); }
if (dataTextField != default(string)) { multiSelect.DataTextField(dataTextField); }
if (itemTemplate != default(string)) { multiSelect.ItemTemplate(itemTemplate); }
if (tagTemplate != default(string)) { multiSelect.TagTemplate(tagTemplate); }
return multiSelect;
}
谢谢!