一般而言为jqGrid赋值,主要有下面三种方法.
方法1. 在初始化时,直接传入数据
// dataSrc 为后台或其他方式定义的数据源
$("#xxx").jqGrid({
data: dataSrc,
datatype: 'local',
editurl:'clientArray',
cellEdit:true,
cellsubmit:'clientArray',
colNames: colObj[0],
colModel: colObj[1],
height:"150px",
width:"850px",
multiselect:false,
regional: 'ja',
});
方法2. 通过setGridParam方法
此方法实际上是改了控件的数据源,所以之后需要reloadGrid,才能将新的信息显示在页面,好处是,如果你的grid不仅仅是显示作用,还要用于修改等等操作,则很合适.
$("#xxx")
.jqGrid("clearGridData")
.jqGrid("setGridParam", {
data:dataSrc // 要替换的数据 dataSrc
})
.trigger("reloadGrid"); // reload显示新数据
// $("#xxx").jqGrid("setGridParam", {data:dataSrc}也可以写成
// $("#xxx").setGridParam({data:dataSrc});
方法3. 通过setGridParam方法
此方法的好处是,不需要reloadGrid,其实进一步来说是不能reloadGrid,reload之后添加的数据将会在页面消失,所以如果你的操作有需要reloadGrid的地方,则不建议使用此方法.
$("#xxx").jqGrid("clearGridData");
$("#xxx")[0].addJSONData(dataSrc);
jqGrid提供多种方式处理数据,包括初始化时直接赋值,使用setGridParam方法刷新数据。方法2和3适用于不同场景:setGridParam配合reloadGrid适合需要保存修改操作的grid,而单独使用setGridParam则不建议用于需要保留新数据的情况。

6924

被折叠的 条评论
为什么被折叠?



