Thursday, August 22, 2013

Is it possible to specify schema.data in a Kendo.Mvc.UI.Fluent.MultiSelectBuilder

Is it possible to specify schema.data in a
Kendo.Mvc.UI.Fluent.MultiSelectBuilder

Using server-side filtering, I would like to respond to each request from
a kendo MultiSelect widget with an object comprised of multiple properties
one of which is the data items to be enumerated in the drop down list.
It looks like I need to specify schema.data. But I haven't figured out how
to specify schema.data using the MVC wrappers. Is this possible or is
there another way to do this?
Here's my custom MultiSelectBuilder code:
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;
}
thanks!

No comments:

Post a Comment