最近做一些表格一直用到jqGrid,今天遇到一个问题:
1、就是页面加载的时候数据不显示,点击搜索才根据请求从服务器返回并显示内容。
2、默认不从服务器请求数据(不然在开发者工具下会显示请求不到数据的报错)
通常的解决方法就是直接给$("#jqGridTable").jqGrid({})套一个function,但个人感觉这并不是最好的方法。
我建议可以用:
(1). 初始化$("#jqGridTable").jqGrid({})的时候设置datatype: ‘local‘,即:
$("#grid").jqGrid({
url:"http://localhost:8080/xxxx",
datatype:"local"
});
(2)、当要加载数据的时候把datatype设置为json或者XML:
$("#jqGridTable").jqGrid(‘setGridParam‘,{datatype:‘json‘}).trigger(‘reloadGrid‘);
实例:
if(devOnlyId!=""){
$("#gridTable").jqGrid(‘setGridParam‘, {
datatype:‘json‘,
postData: { "queryBean.devOnlyId":devOnlyId }, page: 1
}).trigger(‘reloadGrid‘);
}else{
$("#gridTable").jqGrid(‘setGridParam‘, {
datatype:‘json‘,
postData: { "queryBean.devOnlyId":null }, page: 1
}).trigger(‘reloadGrid‘);
};