我需要哪种类型的json阅读器在jqgrid中绘制此类数据?
谢谢!
您遇到了奇怪的问题,以及有关一切的问题jsonReader。在当前情况下,您可以使用
jsonReader
jsonReader: { root: 'features', repeatitems: false }
读取数据。该演示展示了结果如何:
更新 :据我了解,您真正想要做的是调用一些 外部 URL,这些URL为您提供JSON。由于安全原因,无法对另一台服务器执行标准Ajax请求(请参阅同一原始策略)。幸运的是,服务器sampleserver1.arcgisonline.com/ArcGIS支持JSONP请求。因此,要使用外部数据填充网格,可以使用以下代码
sampleserver1.arcgisonline.com/ArcGIS
$('#grid').jqGrid({ url: 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/4/query', datatype: 'jsonp', postData: $.param({ where: "1=1", returnGeometry: false, outFields: "ObjectID,NAME,STATE_NAME,CNTY_FIPS", f: "json" }), colModel: [ {name: 'ObjectID', label: 'ID', width: 60, jsonmap: 'attributes.ObjectID'}, {name: 'NAME', label: 'Name', width: 150, jsonmap: 'attributes.NAME'}, {name: 'STATE_NAME', label: 'State', width: 120, jsonmap: 'attributes.STATE_NAME'}, {name: 'CNTY_FIPS', label: 'FIPS', width: 60, jsonmap: 'attributes.CNTY_FIPS'} ], toppager: true, jsonReader: { root: 'features', repeatitems: false }, loadonce: true, ignoreCase: true, height: 'auto' });
在此处查看新的演示。
更新2 :为了能够使用本地搜索/过滤,应该修改上面的代码。最好postData将上面看到的替换为以下参数
postData
ajaxGridOptions: { cache: true }, prmNames: {search: null, nd: null, sort: null, rows: null, order: null, page: null}, postData: { where: "1=1", returnGeometry: false, outFields: "ObjectID,NAME,STATE_NAME,CNTY_FIPS", f: "json" }
请参阅相应的演示在哪里filterToolbar工作。
filterToolbar