以下示例代码将加载jqGrid(此代码有效)...
jQuery(document).ready(function () {
var gridData = [
{ col1: 'cell11', col2: 'cell12', col3: 'cell13' },
{ col1: 'cell21', col2: 'cell22', col3: 'cell23' }
];
$('#myGrid').jqGrid({
data: gridData,
datatype: 'clientSide',
colNames: ['Col1', 'Col2', 'Col3'],
colModel: [
{ name: 'col1' },
{ name: 'col2' },
{ name: 'col3' }
]
})
如何重写示例以便在创建jqGrid之后设置gridData?我试过这个......
jQuery(document).ready(function () {
var gridData = [
{ col1: 'cell11', col2: 'cell12', col3: 'cell13' },
{ col1: 'cell21', col2: 'cell22', col3: 'cell23' }
];
$('#myGrid').jqGrid({
datatype: 'clientSide',
colNames: ['Col1', 'Col2', 'Col3'],
colModel: [
{ name: 'col1' },
{ name: 'col2' },
{ name: 'col3' }
]
})
$('#myGrid')[0].data = gridData;
但是上面的代码不起作用。有人能告诉我怎么样?
更新:我也在最后一行试过这个,但它也没有用......
$('#jqgrid-panel-contents').jqGrid('setGridParam', {data: gridData});
答案 0 :(得分:18)
之后可能尝试重新加载网格?
$('#jqgrid-panel-contents').jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid');
答案 1 :(得分:0)
@infantDev如果我理解你想说的话:我认为你必须做一个GridUnload
$("#jqgrid-panel-contents").jqGrid('GridUnload');
之前添加新数据
答案 2 :(得分:0)
当网格中已加载数据并且您想要修改数据时,Ewan Heming(以上)中的解决方案不适用于Free JQGrid(至少对于4.15.2版)。
无论如何,Oleg所建议的(我不记得在哪里)都会起作用,并且如果您的新数据没有那么多页面,它也会将网格分页器设置为1。
var gParams = $('#myGrid').jqGrid("getGridParam");
gParams.data = data;
$('#myGrid').trigger("reloadGrid", [{page: 1}]);