0

我正在開發應用程序2014年的劍道控制我沒有訪問最新的2017年或2018年)。在這個項目中,我有這樣一個外鍵類型的多個列:如何在Kendo Grid ASP MVC中實現多選過濾?

columns.ForeignKey(p => p.StatusID, (System.Collections.IEnumerable)ViewData["status"], "ID", "Name").HeaderTemplate("Status") 

爲了創建我遵循的基本例子電網:

http://demos.telerik.com/aspnet-core/grid/foreignkeycolumn

對於基本實現,它看起來和按預期工作,用戶可以從篩選編輯選項的各種狀態或用戶中進行選擇。

但是,我希望能夠一次選擇多個。我試圖遷移這個例子中,這是劍道的jQuery

http://docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/filtering/multiselect-used-for-column-filtering.html

如果他們實施了多選

multiselect

這應該是足夠滿足我的需求。我試圖遷移到ASP MVC和現在,它看起來像這樣:

@model object 

@(
Html.Kendo().MultiSelectFor(m => m) 
    .BindTo((MultiSelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"]) 
) 

基本上,我取代下拉列表變成多選,但什麼都沒有改變我的篩選仍顯示正常下拉,有沒有多選:

dropdownlist

也許我應該做更多的變化,但我不知道我應該改變些什麼;我想知道是否有人曾經經歷過以及他們如何處理它,我已經嘗試了多個示例和代碼,但是我的模板更新了,它總是下拉列表。另一個有趣的例子,但它在jQuery的太多,我一直沒能找到ASP MVC實現:

http://jsfiddle.net/victordscott/5kbfY/

而且,我知道,我想實現的可自2015年Q1:

http://demos.telerik.com/aspnet-mvc/grid/filter-multi-checkboxes

不幸的是,我沒有獲得任何新的版本我以前解釋。提前感謝您的任何想法。

+0

所以你無法更新控制和你沒有使用JavaScript/jQuery?[優點和缺點使用MVC包裝與HTML/JS小部件](http://docs.telerik.com/aspnet-mvc/getting-started/ke n可-UI-VS-MVC-包裝#列表的-利弊和禁忌症)。對於我來說(在過去的兩年中,兩者都在工作之後),MVC包裝器感覺非常嚴格,您應該真正考慮客戶端實現,尤其是當您試圖將自定義應用於標準控件時。 – Sandman

+1

Hi @Sandman Hi @Sandman我理解你的觀點,我更喜歡jQuery,但我的客戶和團隊完全在ASP中工作,這就是爲什麼我有點受限於ASP MVC而不是jQuery。此外,我應該重寫很多代碼,它不會是ASP中的一個部分的標準,而只是jQuery中的一個部分。 –

回答

0

不知道,如果它在這個舊的版本,但你可以給它用「EditorTemplate」

代碼EditorTemplate的嘗試:(發生在文件夾「EditorTemplates」,將其命名爲FE「 myeditortemplate。CSHTML「)

@model object  

@(Html.Kendo().MultiSelect() 
      .Name("optional") 
      .AutoClose(false) 
      .Placeholder("Select attendees...") 
      .BindTo(new List<string>() { 
       "value1", 
       "value2",   
      }) 
    ) 

或遠程數據源:

@model object  

@(Html.Kendo().MultiSelect() 
      .Name("optional") 
      .AutoClose(false) 
      .Placeholder("Select attendees...") 
      .DataSource(source => 
      { 
       source.Read(read => 
       { 
        read.Action("ReadAction", "MyController"); 
       }); 
      }) 
    ) 

然後在網格的定義:

... 
.. 
    column.Bound(c => c.optional).EditorTemplateName("myeditortemplate"); 
.. 
.. 

歡呼

+0

嗨,不,它不起作用,我試過了。謝謝你的時間 :)。 –