【发布时间】:2012-02-20 14:16:51
【问题描述】:
我有一个数据类型为本地的 Jqgrid。我在运行时使用 addRowData、setCell 加载数据。每件事都很好。请注意,我没有将整个数据加载到网格中,因此网格不知道那里有多少页。我的服务器返回我需要将其设置到网格的计数。文档说 lastpage 是只读的?如何将我的最后一页(页数)设置为网格?有什么建议么。 谢谢, 萨拉特
【问题讨论】:
标签: jqgrid
我有一个数据类型为本地的 Jqgrid。我在运行时使用 addRowData、setCell 加载数据。每件事都很好。请注意,我没有将整个数据加载到网格中,因此网格不知道那里有多少页。我的服务器返回我需要将其设置到网格的计数。文档说 lastpage 是只读的?如何将我的最后一页(页数)设置为网格?有什么建议么。 谢谢, 萨拉特
【问题讨论】:
标签: jqgrid
使用addRowData方法填充jqGrid是jqGrid中最古老也是最无效的填充数据的方法。问题很简单。如果您在页面上放置一个元素,则必须重新计算页面上所有其他元素的位置。它使网络浏览器的许多资源。在 一步 中填充整个 jqGrid 主体更加有效,尤其是在插入大量行的情况下。确实需要在极少数情况下使用addRowData 方法。
更有效的是使用jqGrid的data参数,它允许用数据填充网格,对数据进行排序,对应于sortname和sortorder,并显示rowNum定义数字的第一页每页的行数。此外,应该不使用afterInsertRow 回调并使用gridview: true。在jqGrid的填充最有效的情况下。
网格的页数将根据网格中的行数自动计算。仅当您使用服务器端 datatype('json' 或'xml')时,客户端部分不知道总页数,因此必须填写输入数据total 、page 和 records 以及主要数据(参见documentation)。如果使用低级方法addJSONData,则可以用数据填充网格,仍然可以将total、page 和records 设置为您想要的任何值。
在某些情况下可以使用的另一种方式是datatype: 'jsonstring'。数据可以作为datastr 选项的值放置。顺便说一句,datastr 的值不仅可以是 JSON 字符串,还可以是一个对象。
【讨论】:
jsonReader 或修改beforeProcessing 内部的JSON 数据之前数据将由jqGrid 处理。如果您将 jsonReader 与函数一起使用(请参阅 here)或 jsonmap 使用函数,您几乎可以读取任何 JSON 数据。