创建网格后设置jqGrid数据
下面的示例代码将加载jqGrid(此代码有效) 我如何重写这个示例,以便在创建jqGrid之后设置gridData?我试过这个创建网格后设置jqGrid数据,jqgrid,Jqgrid,下面的示例代码将加载jqGrid(此代码有效) 我如何重写这个示例,以便在创建jqGrid之后设置gridData?我试过这个 jQuery(document).ready(function () { var gridData = [ { col1: 'cell11', col2: 'cell12', col3: 'cell13' }, { col1: 'cell21', col2: 'cell22', col3: 'cel
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});
也许以后再重新加载网格
$('#jqgrid-panel-contents').jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid');
@如果我能很好地理解你想说的话:我想你必须做一个网格卸载
$("#jqgrid-panel-contents").jqGrid('GridUnload');
在添加新数据之前当网格中加载了数据并且您希望修改数据时,(以上)中的解决方案将无法使用(至少在版本4.15.2中)
但是(我记不清在哪里)建议的以下操作将起作用,它还将把你的网格寻呼机设置为1,以防你的新数据没有那么多页面
var gParams=$('#myGrid').jqGrid(“getGridParam”);
gParams.data=数据;
$('#myGrid').trigger(“reloadGrid”,[{page:1}]);
是的,我刚想出来,回来回答我自己的问题,找到了你的问题。谢谢@约翰:我不确定上一个版本是否正确,但可能需要在更新数据
参数后调用刷新索引
(请参阅)。可能是relodGrid
已经完成了所有的工作。此外,您应该在gridData
arrayid
属性的项中包含,或者使用localReader
定义网格的哪一列可以被解释为id。例如localReader:{id:'col1'}
当网格在同一页面中加载不同的数据时,此解决方案不起作用,n次。旧数据保留,新数据添加到其中。因为setGridParam在内部使用jquery.extend。
$("#jqgrid-panel-contents").jqGrid('GridUnload');