我知道,SO上存在几个类似的问题,但尽管如此我创建了这个问题是因为:
- 我仍然没有得到它:)
- 我想创建一个可能更完整地解决问题的主题。
我以简化的方式重建了我的生产设置,可以通过以下链接获得。
简而言之 - 我有简单的jqGrid,它使用jsonstring
作为dataType
,datastr
使用JSON数据。然后解雇这个:
$("#grid").setGridParam({'datastr': myNewData}).trigger('reloadGrid');
我试图在网格中重新加载数据,但它不起作用。 我错过了什么?
PS
此外,对我来说,网格具有使用userdata
定义的摘要行。
答案 0 :(得分:1)
您很少需要使用datatype
,其他值为"local"
,"json"
,"jsonp"
或"xml"
。其他datatype
的大多数用法都可以轻松替换为树主数据类型。如果您使用"jsonstring"
,"xmlstring"
或"clientSide"
,那么加载数据后datatype
将更改为"local"
(请参阅{例如,{3}}源代码。因此,如果您确实需要使用datatype: "jsonstring"
,则可以按使用情况修复重新加载
$("#grid").setGridParam({
datastr: myNewData,
datatype: "jsonstring" // !!! reset datatype
}).trigger("reloadGrid");
此外,我可以看到您使用了jqGrid的pager: false
选项。这是错误的选择。如果您不需要使用本地数据分页,我建议您
pager
选项。默认值pager: ""
已经确定。rowNum
参数,其中包含足够大的值rowNum: 10000
。 rowNum
的默认值为20.因此,如果您不想仅显示输入数据的前20行,则应增加rowNum
的值。最后一条建议:您应该将sorttype: "integer"
(请参阅the line)包含在包含整数值的列中。如果用户单击列标题,它将修复数据排序。您也应该考虑使用列模板(请参阅the documentation)。