[英]Reload data for jqGrid
我在主要详细信息模式下使用jqGrid。 当我单击主网格中的一行时,我运行SelectedRowHandler javascript函数,我想更新详细信息网格,但它不起作用。
将调用所选的行处理程序,并调用该操作,但是网格不会更新。
这是js
function SelectedRowHandler(rowId) {
var rowData = this.p.data[this.p._index[rowId]];
$.ajax({
type: "POST",
url: '/Invoice/invoiceitems2',
data: { invoiceId: rowData.Id },
datatype: "json",
success: function (data) {
$("#InvoiceItemsGrid").jqGrid("GridUnload");
var mygrid = $("#InvoiceItemsGrid")[0];
var myjsongrid = eval("(" + data.responseText + ")");
myjsongrid = null;
data = null;
},
viewrecords: true
});
return true;
}
该ActionResult是
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult InvoiceItems2(int invoiceId)
{
var response = new JqGridResponse();
var invoiceItems = _invoiceItemRepository.GetMany(p => p.InvoiceId == invoiceId);
foreach (var x in invoiceItems)
{
response.Records.Add(new JqGridRecord(Convert.ToString(x.InvoiceItemId), new InvoiceItemViewModel()
{
Id = x.InvoiceItemId,
PartNo = x.PartNo,
Description =
x.Description,
Quantity = x.Quantity,
Price = x.Price,
Total =
x.Quantity*x.Price
}));
}
return new JqGridJsonResult() {Data = response};
}
我将不胜感激任何帮助。
试试这个,而不是你的ajax电话
jQuery("#your_detail_grid_id").jqGrid('setGridParam',{url:"/Invoice/invoiceitems2?invoiceId="+rowId,page:1}).trigger('reloadGrid');
请参阅jqgrid演示中的Master Detail
高级->主细节
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.