【问题标题】:jqGrid: No records to viewjqGrid:没有要查看的记录
【发布时间】:2014-05-14 14:40:17
【问题描述】:

我的 javascript 无法让 jqGrid 显示任何记录:

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>

控制台没有错误。

结果:

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    您没有在网格中设置 xml 阅读器,例如。Grid 需要期待 xml

    xmlReader: { repeatitems: false, root:"TradingResults",row:"TradingResult" }
    

    并为每一列设置xmlmap

     { name: 'Instrument', index: 'Instrument', width: 55,xmlmap:"Instrument" },
    

    你是否也包含了 DnR 库,它是

    <script src="grid/js/jqDnR.js" type="text/javascript">
    </script>
    

    这个很重要

    更新:由于这个答案越来越受到关注,here 人们可能会找到有关带有 xml 数据的 jqgrid 的更多信息。

    【讨论】:

    • 感谢@janina,现在网格可以识别行数,但现在只显示一个空表:imgur.com/zuOzeZz
    • 没什么区别,我还是得到一张空桌子。我也尝试删除 mType: "GET"
    • 最后的解决方案是:xmlReader: { repeatitems: false, root:"TradingResults", row:"TradingResult" } 请更新您的答案以包含repeatitems: false
    • @Sam Thompson 做得好,你自己找到解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多