Jquery 将客户端上的数据添加到Jqgrid
我使用Jqgrid来显示一些数据,使用DataType作为local,我不想发回服务器并返回jsonString和要绑定的数据。我将Json字符串传递给客户端,并使用addRowData逐个添加数据。如果由于我在每个单元格中拥有的信息,数据的数量很大,那么用户似乎需要花费相当长的时间Jquery 将客户端上的数据添加到Jqgrid,jquery,jquery-plugins,jqgrid,jqgrid-asp.net,Jquery,Jquery Plugins,Jqgrid,Jqgrid Asp.net,我使用Jqgrid来显示一些数据,使用DataType作为local,我不想发回服务器并返回jsonString和要绑定的数据。我将Json字符串传递给客户端,并使用addRowData逐个添加数据。如果由于我在每个单元格中拥有的信息,数据的数量很大,那么用户似乎需要花费相当长的时间 for (var i = 0; i < gridData.length; i++) jQuery("#jqgInventory").jqGrid('addRowData', i + 1,
for (var i = 0; i < gridData.length; i++)
jQuery("#jqgInventory").jqGrid('addRowData', i + 1, JSON.parse(gridData[i]));
for(var i=0;i
是否有其他方法将数据绑定到jqgrid,例如,只需将JsonString作为数据源提供给它,它将更快地绑定数据或提供任何其他建议
注意:使用数据类型作为Json并设置postrl将比上述方法工作得更快
请帮忙!
提前感谢,,
Alaa这句话直接来自jqGrid文档:“存储传递到网格的本地数据的数组。如果您想加载数组数据,可以直接指向此变量。它可以取代addRowData方法,后者在相对大数据方面速度较慢。”。这正是你所说的 请看这里: 以下是您的工作示例: 您只需输入以下选项:
data: my_data
其中,
my_data
是信息数组。我同意Jeffery_风的另一个回答。他不仅写了他推荐的选项的名称:数据
参数。必须补充一点,即应该使用gridview:true
选项,而不要使用回调
为了理解:使用addRowData
是填充网格最慢、最无效的方法。最大的问题是,如果在页面上插入元素或更改元素,则至少所有现有元素的位置必须由web浏览器重新计算。在页面上放置的元素越多,插入下一个元素的速度就越慢
解决问题的方法主要有两种:
- 使用
准备DOM元素的分离层次结构,然后将片段放在页面上的一个操作中DocumentFragment
- 您可以将所有或大部分更改的内容创建为表示HTML片段的字符串,并使用
属性在页面上的一个操作中放置许多元素innerHTML
gridview:true
获得行为非常重要。因此,建议采用以下方法填充本地网格:
和datatype:'local'
参数与数据的用法。输入data
数据
参数值的标准格式是带有行项目的数组。每个项都具有相同的属性,如
的colModel
属性的值。此外,每个项目都应该有name
属性,该属性定义了“rowid”-网格id
元素(行)的id。如果您有其他格式的输入数据,则必须使用相应的参数来描述数据的格式- 使用指定输入数据的
和datatype:'jsonstring'
参数。datastr
参数的值可以是JSON字符串或具有相同内容的JavaScript对象。因此,如果将数据作为对象,则不需要使用datastr
将其转换为JSON字符串。您还可以使用与JSON.stringify
相同的格式数据类型:'json'
从
数据
参数插入数据(在数据类型:'local'
的情况下)和数据TR
参数插入数据(在数据类型:'jsonstring'
的情况下)的主要区别如果使用数据
参数,则输入数据将按jqGrid排序,如果使用数据
参数,则输入数据将包含在未排序的数据中。+1。你的回答是正确的。我建议您仅1)在网格选项列表中包含gridview:true
,以提高性能;2)添加height:'auto'
,以提高可见性;3)添加rowNum
等值较大的选项,如10000
,或将寻呼机添加到网格中。例如,添加toppager:true
。不带寻呼机的代码默认只显示前20行(dafault值为rowNum
),并剪切其余行。感谢提示,是的,我刚刚解决了问题中提出的问题。我还建议使用寻呼机或增加显示的最大行数。我只是从jqgrid示例中选取了这个示例:。在加载数据->数组数据下,将其转换为使用data
参数。出于某种原因,他们在示例中使用了addRowData
约定。。。可能已经有一段时间没有更新了。哦,我找到了一个正确的例子,在“3.7版中的新版本”下,它还有一个寻呼机,我将更新小提琴。@jeffery_the_wind非常感谢这些信息,它帮助了lot@jeffery_the_wind当前位置我同意来自的信息有很多缺点。使用addRowData
的页面等最旧的页面与其他页面混合。顺便说一下,addRowData
添加的数据将添加到当前页面。“加载数据”/“数组数据”中的页面自年起在行中出现错误(var i=0;i