我有一个让我困惑几天的问题。最初,我在我的javascript函数中测试了一种硬编码方法,它加载包含一个简单数组的局部变量,如下所示:
var myGridData = [
{ ID: "55505", Item: "Mortgage foreclosure", Class: "36", Status: "Pending" },
{ ID: "55506", Item: "Food truck parks", Class: "43", Status: "Pending" }];
for (var i = 0; i <= myGridData.length; i++)
jQuery("#popGrid").jqGrid('addRowData', i + 1, myGridData[i]);
以上硬编码方法有效。但是当我动态地将数据分配给我的GridData变量时(基于来自另一个网格的用户选择,我的网格填充空行,变量中的每个字符占一行(即使用上面的154行 - 而不是预期的两行)我已经仔细检查了两个字符串,它们是相同的(包括正确的限定符,括号等等,所以我不知所措。有什么想法吗?
提前致谢,
尼尔
感谢Oleg,我可以在创作过程中考虑填充网格......一旦我理解了一切就好了。我有点在黑暗中刺伤。下面,我已经包含了用于从“主”页面获取数组数据字符串的代码 - 然后通过隐藏字段传递给对话框。我已经使用了我的JQGrid参数和colModel:
var temp = document.getElementById('<%=txtArray.ClientID%>').value;
var myGridData = temp;
jQuery("#popGrid").jqGrid({
multiselect: true,
data: myGridData,
datatype: 'local',
colNames: [
'ID',
'Item',
'Class',
'Status',
],
colModel: [
{ name: 'ID', index:'ID', key: true, width:50 },
{ name: 'Item', index: 'Item', key: true, width:100 },
{ name: 'Class', index: 'Class', key: true, width: 150 },
{ name: 'Status', index: 'Status', key: true, width: 250 },
],
multiSort: true,
sortable: true,
loadonce : true,
rownum: 5,
width: 850,
height: 100,
scrollOffset: 1,
shrinkToFit: true,
sortname: 'ID',
viewrecords: true,
gridview: true,
sortorder: "desc",
pager: '#popPager'
});