Kendo网格不支持动态重新绑定.您可以获得的最接近的事情是定义一个使用AJAX绑定数据的自定义编辑器模板.
columns.ForeignKey(p => p.CPOID, (System.Collections.IEnumerable)ViewData["CPOs"], "cpo_id", "contract_po") .Title("Company - Contact/Purchase Order") .EditorTemplateName("RemoteForeignKey");
RemoteForeignKey编辑器模板
@model int @(Html.Kendo().DropDownListFor(m => m) .DataSource(source => { source.Read(read => { read.Action("actionName", "controllerName").Type(HttpVerbs.Post).Data("dataFunc"); }).ServerFiltering(false); }) .DataValueField("cpo_id") .DataTextField("contract_po") )
dataFunc javascript函数
function dataFunc () { return { SiteID: $("#SiteID").val() // here we pass the site ID to server }; }
和你的服务器功能
[AcceptVerbs(HttpVerbs.Post)] public JsonResult actionName(int? SiteID) { if (SiteID != null) { var objects = (from obj in db.tableName where obj.SiteID == SiteID.Value select new { cpo_id = obj.cpo_id, contract_po = obj.contract_po }).ToList().Distinct().OrderBy(obj => obj.contract_po); return Json(objects); } return null; }
然后,您的下拉列表中的值将按SiteID输入的当前值进行过滤.
Kendo网格不支持动态重新绑定.您可以获得的最接近的事情是定义一个使用AJAX绑定数据的自定义编辑器模板.
columns.ForeignKey(p => p.CPOID, (System.Collections.IEnumerable)ViewData["CPOs"], "cpo_id", "contract_po") .Title("Company - Contact/Purchase Order") .EditorTemplateName("RemoteForeignKey");
RemoteForeignKey编辑器模板
@model int @(Html.Kendo().DropDownListFor(m => m) .DataSource(source => { source.Read(read => { read.Action("actionName", "controllerName").Type(HttpVerbs.Post).Data("dataFunc"); }).ServerFiltering(false); }) .DataValueField("cpo_id") .DataTextField("contract_po") )
dataFunc javascript函数
function dataFunc () { return { SiteID: $("#SiteID").val() // here we pass the site ID to server }; }
和你的服务器功能
[AcceptVerbs(HttpVerbs.Post)] public JsonResult actionName(int? SiteID) { if (SiteID != null) { var objects = (from obj in db.tableName where obj.SiteID == SiteID.Value select new { cpo_id = obj.cpo_id, contract_po = obj.contract_po }).ToList().Distinct().OrderBy(obj => obj.contract_po); return Json(objects); } return null; }
然后,您的下拉列表中的值将按SiteID输入的当前值进行过滤.