使用jsonstring数据类型加载jqgrid表
Loading a jqgrid table using jsonstring datatype
我想用我从velocity生成的json字符串加载一个jqGrid表;这些是表格参数:
var gridParams = {
datatype: "jsonstring",
data: content,
pager: $('#pagernav'),
rowNum: 5000,
rownumbers: true,
rowList: [50,100,200,500,1000,2000],
ignoreCase: true,
colNames: columns,
colModel: tableColModel,
}
当在控制台上打印时,内容和列的值为:
[{"ID":"7", "fname":"Bob", "addr":"18" }, {"ID":"8", "fname":"Sue" }]
["ID", "fname", "addr"]
事实上,网格是用正确的列创建的,但它是空的。。。我写的东西出了什么问题?谢谢你的回答。
首先,datatype: "jsonstring"
的90%的使用都是在错误使用jqGrid的情况下进行的。您没有更详细地描述您最初的问题,但我建议您考虑使用datatype: "json"
而不是datatype: "jsonstring"
。
如果您确实需要使用datatype: "jsonstring"
,那么您应该使用datastr
选项而不是datatype: "local"
中使用的data
选项来提供输入数据。
来自content
的数据真的是JSON字符串(typeof content === "string"
)还是将数据作为对象(typeof content === "string"
)?在我看来,在您的情况下,最好使用datatype: "local", data: content
或datatype: "local", data: $.parseJSON(content)
,而不是使用datatype: "jsonstring", datastr: content,
,因为输入数据的格式不是datatype: "jsonstring"
所需的标准格式(请参阅文档),因此为了能够成功读取数据,您必须提供相应的jsonReader
(请参阅此处的示例)
无论如何,我建议您使用gridview: true
选项,将pager: $('#pagernav')
替换为pager: '#pagernav'
,并为'ID'
列定义key: true
属性。此外,你应该在问题的正文中始终包含colModel
。colModel: tableColModel
的文本指向代码$.jqGrid(myOptions)
-如果没有显示所需的详细信息,这对于找到问题的解决方案非常重要。
- 如何将JSON数据加载到Jqgrid中
- 使用requireJS的jqGrid-网格加载但不起作用
- Jqgrid在第一个下拉索引chnage方法后未重新加载
- jqgrid动态加载选择列表
- 如何在不重新加载的情况下在表单编辑中更改主键后刷新jqgrid行id
- Jqgrid Treegrid在更新本地源数据时重新加载节点
- jqgrid没有在服务器acugis中加载数据,而是在本地运行,一切都很完美
- 当网格视图设置为 true 时,Jqgrid 在 IE9 中显示“正在加载”
- 在初始加载时获取带有 postData 过滤器的 jqGrid,以仅显示客户端过滤行
- free-jqgrid:保存、加载和应用过滤器数据的更简单方法,包括过滤器工具栏文本和页面设置
- jqGrid:在表中已有的本地数据之后加载 JSON 数据
- JqGrid don'i 在点击按钮后重新加载
- 单击按钮时加载 jqGrid,但第二次失败
- 使用滚动重新加载 Jqgrid 时出现问题 - 重复的行数据并缺少最后一页
- 如何通过单击上传按钮在上传文件后重新加载 Jqgrid
- 在 jqgrid 中,如何按条件加载数据
- 如何在页面中加载数据 - jqGrid
- 如何使用JSON从jqgrid加载数据
- 在jqgrid加载中显示或隐藏列
- Jqgrid加载网格上的下拉选择