我有一个自定义编辑器的kendo网格,其中一个是多选(这个是http://demos.telerik.com/aspnet-mvc/multiselect)。我有一个看起来像这样的编辑器CSHTML文件:“全选”在Kendo MultiSelect(mvc)
@model IEnumerable<ManageSitesInTemplateViewModel>
@(Html.Kendo().MultiSelectFor(m => m)
.AutoClose(false)
.DataTextField("SiteName")
.DataValueField("SiteId")
.BindTo((IEnumerable<ManageSitesInTemplateViewModel>)ViewData["sites"])
)
,使用“bindto”,这是从得到的ViewData数据请求页面时创建。一切正常,就好像没问题。 问题是我一直在试图实现一个“选择/取消全选”按钮使用各种实现无济于事。我怀疑这是因为我使用“bindto”。 这是一些我已经试过例子:
How can we implement select All option in Kendo MultiselectFor
http://www.telerik.com/forums/select-all-items-after-data-is-read
我可以得到按钮正确选择一切,但被选中的一切,当我尝试保存在网格上的条目,该行为不被解雇。没有任何反应,选择重置。如果我手动选择,仍然有效。
这是怎么回事?自定义编辑 全码:
@model IEnumerable<ManageSitesInTemplateViewModel>
@(Html.Kendo().MultiSelectFor(m => m)
.AutoClose(false)
.DataTextField("SiteName")
.DataValueField("SiteId")
.BindTo((IEnumerable<ManageSitesInTemplateViewModel>)ViewData["sites"])
)
<button class="k-button" id="selectall123">Select All</button>
<script type="text/javascript">
$(document).ready(function() {
$("#selectall123").on('click', function (e) {
e.preventDefault();
var multiselect = $('#Sites').data("kendoMultiSelect");
var all = $.map(multiselect.dataSource.data(), function (dataItem) {
return dataItem.SiteId;
});
multiselect.value(all);
});
});
</script>