jqGrid:在表中已有的本地数据之后加载 JSON 数据
jqGrid: Load JSON data after local data already in table
我有一个非常具体的问题:我有一个有四个选项的小表单。您可以填写或不填写它们,当您单击"确定"时,我会根据这些选项加载带有数据的 jqGrid。但是由于我不知道我的列是什么样子的,所以我让我的 servlet 生成列模型和列名;因此,我必须发出 AJAX 请求来加载数据,然后将其作为"本地"数据填充到 jqGrid 中。不过我想使用分页。
因此,我的问题:在通过本地数据建立jqGrid之后,如何将更多数据加载到jqGrid中?
代码如下:
$.ajax({
type : 'GET',
url : 'data.jsp',
data : reqData,
dataType : 'json',
error: function() {
$("#dialog-message").dialog("open");
$("#ajax-loader").css("display", "none");
},
success : function(result) {
jQuery("#results").jqGrid({
data : result.rows,
datatype : "local",
colNames : result.columnNames,
colModel : result.columnModel,
pager : $('#pager'),
rowNum : 1000,
scroll : true,
viewrecords : true,
sortname : 'TITEL',
width : window.innerWidth - 30,
height : window.innerHeight - 190,
altRows : true,
loadError: function() {
$("#dialog-message").dialog("open");
$("#ajax-loader").css("display", "none");
},
loadComplete: function() {
$("#ajax-loader").css("display", "none");
}
}).jqGrid("navGrid", "#pager", {
edit: false,
add: false,
del: false,
search: true,
refresh: false
}).jqGrid("gridResize");
}
});
/edit:我尝试执行以下操作,但这仍然不能解决网格不知道实际有多少总页的问题(实际上,在这一点上,我什至不知道),而且,加载后,它认为它只获取本地数据。是否有滚动事件或其他什么?我还没有找到。
datatype : !json ? "local" : function(postdata) {
$.ajax({
type: 'GET',
url: 'data.jsp',
data: $.merge(postdata, reqData),
dataType: 'json',
success: function(data, status, jqXHR) {
var mygrid = jQuery("#results")[0];
var myjsongrid = eval("("+jqXHR.responseText+")");
mygrid.addJSONData(myjsongrid);
}
});
},
你能不能不做这样的事情...获取网格,清除数据,定义要从中获取数据的 URL(它可能会根据用户选择的选项而更改),然后将 Dataformat 更改为 JSON 而不是 local。
var grid = $('#TargetGridID');
grid.clearGridData();
grid.setGridParam({ url: '../controller/action?datatype=Option1' });
grid.setGridParam({ datatype: 'json' });
grid.trigger('reloadGrid');
我们使用这种方法,效果很好...将其与能够分页的存储过程一起使用,网格速度非常快!我知道一个 20,000 行的网格大约需要 700 毫秒,页数为 500 行。
如果您将SQL用于数据,我可以上传有关如何在SQL存储过程中支持分页的示例,非常有用的东西。
相关文章:
- web浏览器中的离线应用程序存储数据并在之后上传
- 在post-expressjs之后持久化表单数据
- 基于类的单击事件在10行之后不响应-数据表
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- d3在鼠标悬停上过滤数据之后从选择中提取值
- Sencha Touch:如何在setData()之后刷新组件的数据
- Jquery 数据表 序列化程序之后 ASP.NET 日期格式
- 在动态更改数据之后(在ajax调用之后)检查函数是否存在
- "脏的“;函数,需要脚本将触发延迟到加载数据之后
- 在$state.go之后在控制器之间传递数据
- Ajax在maxlength之后请求keyup-maxlength后出现数据错误
- 在 ajax 之后执行数据表或重新绘制表
- jqGrid:在表中已有的本地数据之后加载 JSON 数据
- 如何在窗口位置之后存储数据
- 如何将数据从 href 获取到字符串并在之后使用它
- 在jQuery选择菜单之后捕获数据属性
- 在某些数据之后创建事件对象
- 如何删除多维数据集.js实例的一天之后的事件
- Morris图表无法处理动态数据,即使在以Json格式发送数据之后也是如此
- 如何添加
数据之后