从主网格加载jqGrid详细信息中的数据时出现问题?
当我第一次调用时,它会在我的详细信息网格中显示主网格中的数据,但当选择其他行时,它不会在详细信息网格中填充新数据从主网格加载jqGrid详细信息中的数据时出现问题?,jqgrid,master,details,Jqgrid,Master,Details,当我第一次调用时,它会在我的详细信息网格中显示主网格中的数据,但当选择其他行时,它不会在详细信息网格中填充新数据 jQuery("#list10").jqGrid({ sortable: true, url: '/cpsb/unprocessedOrders.do?method=getInitialUnprocessedList', datatype: 'json', colNames: ['Order', 'Load', 'Gate Time', 'Stop',
jQuery("#list10").jqGrid({
sortable: true,
url: '/cpsb/unprocessedOrders.do?method=getInitialUnprocessedList',
datatype: 'json',
colNames: ['Order', 'Load', 'Gate Time', 'Stop', 'Customer', 'Status'],
colModel: [
{ name: 'orderNumber', index: 'orderNumber', width: 120, align: "center",
sorttype: "int", key: true },
{ name: 'loadNumber', index: 'loadNumber', width: 100, align: "center",
sorttype: "int" },
{ name: 'latestTime', index: 'latestTime', width: 160, align: "center",
align: "center" },
{ name: 'stopSeq', index: 'stopSeq', width: 80, align: "center",
sorttype: "int" },
{ name: 'customerNumber', index: 'customerNumber', width: 60,
align: "center", sorttype: "int" },
{ name: 'orderStatus', index: 'orderStatus', width: 120, align: "center" }
],
rowNum: 10,
rowList: [10, 20, 30],
jsonReader: { repeatitems: false,
root: function (obj) {
return obj;
},
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
pager: '#pager10',
sortname: 'Gate Time',
sortorder: "desc",
gridview: true,
loadonce: true,
viewrecords: true,
multiselect: true,
multikey: 'ctrlKey',
caption: "Order Header",
onSelectRow: function (ids) {
if (ids == null) {
ids = 0;
if (jQuery("#list10_d").jqGrid('getGridParam', 'records') > 0) {
jQuery("#list10_d").jqGrid('setGridParam', { url:
"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails&orderNum=" + ids });
jQuery("#list10_d").jqGrid('setCaption',
"Order Header: " + ids).trigger('reloadGrid');
}
}
else {
jQuery("#list10_d").jqGrid('setGridParam', { url:
"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails&orderNum=" + ids });
jQuery("#list10_d").jqGrid('setCaption',
"Order Details: " + ids).trigger('reloadGrid');
}
},
height: '100%'
});
jQuery("#list10").jqGrid('navGrid','#pager10',
{view:true,add:false,edit:false,del:false,searchtext:"Filter"},
{},{},{},{multipleSearch:true});
$("#list10").jqGrid('hideCol', 'cb');
第二个网格用于查看订单详细信息
jQuery("#list10").jqGrid('reloadGrid');
jQuery("#list10_d").jqGrid({
height: 100,
url: "/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails&orderNum=",
datatype: "json",
colNames: ['Order', 'SKU', 'UPC', 'Item Description', 'Quantity Ordered',
'Teach in Hold?'],
colModel: [
{ name: 'orderNumber', index: 'orderNumber', width: 55 },
{ name: 'sku', index: 'sku', width: 55 },
{ name: 'upc', index: 'upc', width: 40, align: "right" },
{ name: 'itemDescription', index: 'itemDescription', width: 150,
align: "right" },
{ name: 'quantityOrdered', index: 'quantityOrdered', width: 150,
align: "right", sortable: false, search: false },
{ name: 'teachInId', index: 'teachInId', width: 150,
align: "right", editable: true, edittype: "checkbox",
formatter: 'checkbox', editoptions: { value: "true:false"} }],
rowNum: 5,
rowList: [5, 10, 20],
jsonReader: { repeatitems: false,
root: function (obj) {
return obj;
},
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
},
pager: '#pager10_d',
sortname: 'SKU',
loadonce: true,
viewrecords: true,
sortorder: "asc",
multiselect: true,
multikey: 'ctrlKey',
caption: "Order Detail",
height: '100%'
}).navGrid('#pager10_d', { view: true, add: false, edit: false, del: false },
{}, {}, {}, { multipleSearch: true });
$("#list10_d").jqGrid('hideCol', 'cb');
jQuery("#ms1").click(function () {
var s;
s = jQuery("#list10_d").jqGrid('getGridParam', 'selarrrow');
alert(s);
});
编辑:刷新页面后,我可以查看不同的记录…但在一个选择后,另一个选择不起作用
edit2:调试后,我发现我正确地附加了orderNum参数,但这并没有调用action类……知道吗?谢谢 在我看来,你在这里找到的主要问题的答案是:
因为您在两个网格中都使用了
loadonce:true
,所以在第一次加载后,每个网格中的数据类型将从“json”
更改为“local”
。在我看来,您应该只删除loadonce:对于第二个(详细的)网格为true。如果您确实希望使用loadonce:true
进行本地排序或本地分页,那么您应该在同一调用jQuery(#list10_d”).jqGrid('setGridParam',{url:“…”,datatype:'json})中将datatype
重置为“json”
代码>谢谢!它正在工作,但不确定分页和排序..需要填充更多数据以检查分页..当我删除loadonce时第二个网格的分页不工作:真的…知道我在这里做错了什么吗在触发器('reloadGrid')之前尝试重置rowNum
(使用setGridParam({rowNum:10})
);
See@paul:我使用ASP.NET而不是JSP,在这个问题上帮不了你。在ASP.NET中,您可以定义母版页,并在“<代码> <代码>元素>代码> <代码>块中放置不同ID的占位符:<代码> <代码>,在代码<> >代码>块的另一个<代码> <代码>,以及在代码中的“代码> > /代码>中,像您所做的那样。因此,所有页面都从包括母版页和定义最多3个开始,我修改了你问题的标签,你立即收到了更多的观众,投票,并且已经有一个听起来很有趣的答案。我写这篇文章只是为了说明选择问题的标签是非常重要的,而且非常有用。