2013-08-22 67 views
0

指定schema.data使用服務器端過濾,我想從一個劍術多選插件每個請求與對象由多個屬性中的一個的響應這是要在下拉列表中枚舉的數據項。是否有可能在一個Kendo.Mvc.UI.Fluent.MultiSelectBuilder

它看起來像我需要指定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; 
} 

的感謝!

回答

0

從Telerik的技術支持,

一般來說,這不是由多選MVC 包裝和支持它的DataSource總是需要一個收集,但可以通過 例如重寫reader.data功能實現

multiselect.dataSource.reader.data = function (data) { return data.values};