gpt4 book ai didi

javascript - 使用 jsonstring 数据类型加载 jqgrid 表

转载 作者:行者123 更新时间:2023-11-29 18:24:37 24 4
gpt4 key购买 nike

我想用我从 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,
}

content 和 columns 的值在控制台上打印时是:

[{"ID":"7", "fname":"Bob", "addr":"18" }, {"ID":"8", "fname":"Sue" }]
["ID", "fname", "addr"]

的确,网格是用正确的列创建的,但它是空的...我写的有什么问题吗?感谢您的回答。

最佳答案

首先,超过 90% 的 datatype: "jsonstring" 用法是在以错误的方式使用 jqGrid 的情况下。你没有更详细地描述你原来的问题,但我建议你考虑使用 datatype: "json" 而不是 datatype: "jsonstring"

如果您确实需要使用datatype: "jsonstring",那么您应该使用datastr option 提供输入数据而不是在 datatype: "local" 情况下使用的 data 选项。

content 中的数据是否真的是 JSON 字符串(typeof content === "string")或者您将数据作为对象(typeof content ===“字符串”)?在我看来,最好在你的情况下使用 datatype: "local", data: contentdatatype: "local", data: $.parseJSON(content)而不是使用 datatype: "jsonstring", datastr: content, 因为输入数据的格式不是 datatype: "jsonstring" 所要求的标准(参见 the documentation )所以为了能够成功读取数据,您必须提供相应的 jsonReader(参见 here 示例)

无论如何,我建议您使用 gridview: true 选项,将 pager: $('#pagernav') 替换为 pager: '#pagernav ' 并为 'ID' 列定义 key: true 属性。此外,您应该始终在问题的文本中包含 colModelcolModel: tableColModel 的文本指向代码 $.jqGrid(myOptions) - 如果没有显示必需的详细信息,这对于寻找 你的问题

关于javascript - 使用 jsonstring 数据类型加载 jqgrid 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com