如何将JSON数据加载到Jqgrid中
How to load the JSON data into the Jqgrid?
我使用以下方式将数据加载到jqgrid中。我无法将json数据加载到jqgrid中。因此,我将json解析为类似mydata=json.parse(jsondata)的数组。然后,我使用数据类型"local"将数组(mydata)绑定到jqgrid中。我的问题是如何将json数据绑定到jqcrid中
$("#datagrid").jqGrid({
datatype: "local",
data: mydata,
colNames:['companyid','company', 'price', 'Change','perchange','LastUpdated'],
colModel:[
{name:'companyid',index:'companyid', width:100,editable:true,editoptions:{size:10}},
{name:'company',index:'company', width:100,editable:true},
{name:'price',index:'price', width:100,editable:true,editoptions:{size:10}},
{name:'Change',index:'Change', width:100,editable:true,editoptions:{size:25}},
{name:'perchange',index:'perchange', width:100, align:"right",editable:true,editoptions:{size:10}},
{name:'LastUpdated',index:'LastUpdated', width:200, align:"right",editable:true,editoptions:{size:10}}
],
rowNum:10,
rowList:[3,6],
loadonce: true,
pager: '#navGrid',
sortname: 'companyid',
sortorder: "asc",
height: 210,
width:600,
onSelectRow: function(id)
{
getID = jQuery("#datagrid").jqGrid('getCell', id, 'companyid')
},
viewrecords: true,
caption:"JQ GRID"
});
JSON格式:
[
{
"company": "test",
"price": 98,
"Change": 8,
"perchange": 8,
"LastUpdated": "2",
"companyid": 2
},
{
"company": "test123",
"price": 1,
"Change": 1,
"perchange": 1,
"LastUpdated": "1",
"companyid": 3
},
{
"company": "abc",
"price": 1234,
"Change": 123,
"perchange": 1,
"LastUpdated": "1",
"companyid": 1
}
]
首先,您需要在输入数据中定义行的id
。每行的id
属性(<tr>
)将设置在相应的值中。因为您已经有companyid
可以扮演这个角色,所以将key: true
添加到colModel
中"companyid"
列的属性中就足够了。
直接从服务器加载日期(包括从文件加载)的问题可以通过添加描述输入数据格式的jsonReader
来解决。由于您使用loadonce: true
,输入数据的total
、records
和page
属性将被忽略,您可以使用以下简单形式的jsonReader
:
jsonReader: {repeatitems: false, root: function (obj) { return obj; }}
相应的演示在这里。
如果你需要从你发布的数据数组中加载数据,你的代码应该直接工作(参见另一个演示)。我想use在解析JSON数据时还有一些其他问题,但您没有发布相应的代码。
关于id
和key: true
的建议仍在进行中。您可以对第二种情况使用localReader: {id: "companyid"}
,也可以在jsonReader
中使用相同的属性id: "companyid"
。我个人更喜欢使用key: true
,因为代码易于阅读,并且独立于所使用的阅读器。
相关文章:
- 如何将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加载网格上的下拉选择