请参考下面的代码,我用它来从数据库加载数据。只要第一次加载数据,代码就可以正常工作。每个记录和每个页面都完美加载。
现在,如果我调用Reload函数,则会产生问题。
jQuery("#list").jqGrid({
url: "http://localhost/myapp/myfile.php",
datatype: "json",
mtype:"POST",
postData:{folder: 'INBOX' },
jsonReader:
{
root: "rows",
page: "currpage",
total: "totalpages",
records: "totalrecords",
id: "0",
cell:"",
repeatitems: false
},
colNames: ['Id','Message'],
colModel: [
{ name: 'messageid', index: 'messageid', hidden: true, search:false},
{ name: 'message', index: 'message', search:false},
],
rowNum: 10,
scroll: 1,
prmNames:{npage:1},
autowidth: true,
height: 470,
loadonce: true,
viewrecords: true,
altRows:true,
caption: "",
pager: "#plist",
});
jQuery("#list").jqGrid('setFrozenColumns');
function reload_list()
{
$("#list").setGridParam({datatype:'json'}).trigger('reloadGrid');
}
请注意以下信息
使用的框架 Codeigniter 与JqGrid版本 jquery.jqGrid-4.3.1 。
我的代码中包含的文件是
DEMO:http://www.trimantra.com/demo/appointmentsystem/grid.php
请告诉我如何解决此问题。 提前谢谢。
答案 0 :(得分:1)
从代码中删除此行:
jQuery("#list").jqGrid('setFrozenColumns');
因此,它正在创建一个新行。
答案 1 :(得分:0)
我无法重现行重复的问题,但我可以在您的应用程序中看到很多其他问题。
我认为您的主要问题是因为您在所有三个网格中加载了具有相同ID 的数据。作为结果,您在页面上有id重复项。解决问题的最简单方法是使用jqGrid的idPrefix
选项。
下面是我找到的最重要问题列表:
images
子目录。因此,应用程序在加载http://www.trimantra.com/demo/appointmentsystem/lib/jquery.jqGrid-4.3.1/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
时出现“HTTP / 1.1 404 Not Found”错误。您应该在项目中包含所有images
。idPrefix
选项,而在三个网格中加载相同的数据。因此,所有三个网格都将具有<tr>
个具有相同ID的元素。 HTML不允许id重复。要解决此问题,您可以使用例如idPrefix: "a"
,idPrefix: "b"
,idPrefix: "c"
作为三个网格。根据结果,messageid: "45"
行将在第一个网格中获得id="a45"
,在最后一个网格中显示id="b45"
和id="c45"
,并且您将在页面上没有ID重复项。< / LI>
scroll: 1
和loadonce: true
的组合没有任何意义。如果我了解您需要执行的操作,则应从所有网格中删除scroll: 1
和prmNames:{npage:1}
。虚拟滚动需要选项。gridview: true
选项,以便在行数较多的情况下多次提高网格性能。rows=10
,page=1
,sidx=toname
,sord=asc
。服务器返回所有48行数据,数据未排序。无论如何,您应该在服务器代码中插入数据排序。frozen:true
。我觉得在设置中没有任何意义。'messageid'
列,则可以从colModel
删除列定义并使用jsonReader: {id: "messageid", repeatitems: false }
。结果将保存在页面上的位置(隐藏的列仍然存在于页面上)。formatter: 'data'
以05/16/2012 07:45 AM
格式显示日期,您可以使用formatoptions: { newformat: "d/m/Y H:i A" }
loadonce: true
。如果使用colModel
,则主要的好处是列的正确排序顺序。},]
定义中删除尾随逗号。组合{{1}}是JavaScript中的错误。在最现代的Web浏览器中将忽略该错误(但不像IE6那样旧)。最好编写无错误的代码。