我无法让jqGrid显示任何记录,我的javascript:
jq.getScript("/js/grid.locale-en.js", function(){
jq.getScript("/js/jquery.jqGrid.min.js", function(){
jq(".normalTable").jqGrid({
url:'/xml/results.xml',
mtype: "GET",
datatype: "xml",
colNames: ['Instrument', 'ExpValue', 'BuyerPayout','SellerPayout'],
colModel: [
{ name: 'Instrument', index: 'Instrument', width: 55, xmlmap: "Instrument" },
{ name: 'ExpValue', index: 'ExpValue', width: 80, xmlmap: "ExpValue" },
{ name: 'BuyerPayout', index: 'BuyerPayout', width: 80, xmlmap: "BuyerPayout" },
{ name: 'SellerPayout', index: 'SellerPayout', width: 80, xmlmap: "SellerPayout"}],
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'Instrument',
viewrecords: true,
gridview: true,
autoencode: true,
xmlReader: {
root:"TradingResults",
row:"TradingResult"
},
width: '480'
});
});
});
我的XML结构:
<TradingResults>
<DateGroup date="2014-04-24">
<TradingResult>
<Instrument>xyz</Instrument>
<ExpValue>94.65</ExpValue>
<BuyerPayout>0</BuyerPayout>
<SellerPayout>100</SellerPayout>
</TradingResult>
<TradingResult>
<Instrument>xyz</Instrument>
<ExpValue>94.659</ExpValue>
<BuyerPayout>0</BuyerPayout>
<SellerPayout>100</SellerPayout>
</TradingResult>
</DateGroup>
<TradingResults>
控制台没有错误。
结果:
答案 0 :(得分:4)
你没有在你的网格中设置xml阅读器.Grid需要期望xml
xmlReader: { repeatitems: false, root:"TradingResults",row:"TradingResult" }
并为每列设置xmlmap
,例如
{ name: 'Instrument', index: 'Instrument', width: 55,xmlmap:"Instrument" },
你也包括了
的DnR lib<script src="grid/js/jqDnR.js" type="text/javascript">
</script>
这个很重要
更新:由于此答案引起了很多关注,here人可能会在jqgrid上找到有关xml数据的其他信息。