Kendo Grid - 搜索后绑定数据
Posted
技术标签:
【中文标题】Kendo Grid - 搜索后绑定数据【英文标题】:Kendo Grid - Bind Data After Search 【发布时间】:2013-10-16 05:16:38 【问题描述】:ASP.NET MVC 4 | .NET 4.5 |剃须刀| C#
我在页面顶部有一个文本框和一个按钮。下面是一个剑道网格,它绑定到我的视图模型中的一个列表。当用户单击搜索按钮时,会发出一个 jQuery ajax 请求,并将数据作为 JSON 返回。我唯一的问题是如何将这些数据绑定到我的剑道网格?任何帮助表示赞赏。
@(html.Kendo().Grid(Model.PurchaseOrder.LineItems)
.Name("poSearchGrid")
.Columns(c =>
c.Bound(x => x.LineNumber).Title("Line Number");
c.Bound(x => x.Qty).Title("PO Qty");
c.Bound(x => x.OpenQty).Title("Open Qty");
c.Bound(x => x.QtyReceived).Title("Qty Received");
)
.Events(e => e.DataBound("onDataBound"))
.DataSource(s => s.Ajax().Model(model => model.Id(i => i.ID)))
)
按钮单击 Ajax 调用
$("#btnSearch").on('click', function()
console.log("click");
var searchText = $("#PONumber").val();
if (searchText == "")
alert("You must enter a search value");
return;
$.ajax(
url: '@Url.Action("Search")',
data: poNumber: searchText,
type: 'POST',
dataType: "json",
success: function(result)
);
);
【问题讨论】:
【参考方案1】:所有你需要的:
1- 您的结果对象必须与 Model.PurchaseOrder.LineItems 类型相同,并且必须是 JSON 对象。如果您使用 MVC ActionResult,您可以在 ServerCode 中使用以下代码:
return Json(lineItems);
2- 在成功的 ajax 调用中使用以下代码:
var grid = $('#poSearchGrid').getKendoGrid(); //Or $('#poSearchGrid').data("kendoGrid");
grid.dataSource.data(result);
grid.refresh();
【讨论】:
当我走这条路时,我失去了寻呼。其他人有这个问题吗? 我也丢页了!有人有这个问题的解决方案吗?以上是关于Kendo Grid - 搜索后绑定数据的主要内容,如果未能解决你的问题,请参考以下文章