不多说先上代码Ext.onReady(function() {    var myStore = new Ext.data.JsonStore({
        // Load data at once
        autoLoad: true,
        // Override default http proxy settings
        proxy: new Ext.data.HttpProxy({
            // Call web service method using GET syntax
            url: 'PttGetData.asmx/CancelableTerminal',
            // Ask for Json response
            headers: { 'Content-type': 'application/json' }
        }),
        // Root variable
        root: 'd',        fields: ['TerminalId','TermId', 'MsgTime', 'CardId', 'SimNo', 'ShiftSN', 'CmdType', 'CmdMsg', 'IsSucc', 'T_isRec', 'T_IsCommit', 'SendTime', 'RecvTime', 'CommitTime']
    });    var grid = new Ext.grid.GridPanel({
        // Set store
        store: myStore,
        // Columns definition
        columns: [
                        { header: "Terminal ID", width: 300, dataIndex: 'TerminalId', sortable: true },
                         { header: "TermID", width: 300, dataIndex: 'T', sortable: true }                    ], sm: new Ext.grid.RowSelectionModel({ singleSelect: true }),
        viewConfig: {
            forceFit: true
        },
        height: 210,
        split: true,
        region: 'north',
         renderTo: 'CAV'    });
});
我从webservice输出json格式的数据.. 但是我显示不出来.只有XML的<ArrayOfPttCmdDict>
<PttCmdDict>
<TerminalId>SH1897</TerminalId>

<CmdList>

<PttCmd>
<MsgTime>2010-01-05T17:25:13.827</MsgTime>
<TermId>SH1897</TermId>
<ShiftSN>201011315200</ShiftSN>
<CmdType>A2</CmdType>
<MsgWay>0</MsgWay>
<IsSucc>0</IsSucc>
<T_isRec>0</T_isRec>
<T_IsCommit>0</T_IsCommit>
<SendTime>0001-01-01T00:00:00</SendTime>
<RecvTime>0001-01-01T00:00:00</RecvTime>
<CommitTime>0001-01-01T00:00:00</CommitTime>
<StartTime>0001-01-01T00:00:00</StartTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<OperTime>0001-01-01T00:00:00</OperTime>
</PttCmd>

<PttCmd>
<MsgTime>2010-01-05T17:25:14.827</MsgTime>
<TermId>SH1897</TermId>
<ShiftSN>201011315200</ShiftSN>
<CmdType>A2</CmdType>
<MsgWay>0</MsgWay>
<IsSucc>0</IsSucc>
<T_isRec>0</T_isRec>
<T_IsCommit>0</T_IsCommit>
<SendTime>0001-01-01T00:00:00</SendTime>
<RecvTime>0001-01-01T00:00:00</RecvTime>
<CommitTime>0001-01-01T00:00:00</CommitTime>
<StartTime>0001-01-01T00:00:00</StartTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<OperTime>0001-01-01T00:00:00</OperTime>
</PttCmd>

<PttCmd>
<MsgTime>2010-01-05T17:25:15.827</MsgTime>
<TermId>SH1897</TermId>
<ShiftSN>201011315200</ShiftSN>
<CmdType>A2</CmdType>
<MsgWay>0</MsgWay>
<IsSucc>0</IsSucc>
<T_isRec>0</T_isRec>
<T_IsCommit>0</T_IsCommit>
<SendTime>0001-01-01T00:00:00</SendTime>
<RecvTime>0001-01-01T00:00:00</RecvTime>
<CommitTime>0001-01-01T00:00:00</CommitTime>
<StartTime>0001-01-01T00:00:00</StartTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<OperTime>0001-01-01T00:00:00</OperTime>
</PttCmd>

<PttCmd>
<MsgTime>2010-01-05T17:25:16.827</MsgTime>
<TermId>SH1897</TermId>
<ShiftSN>201011315200</ShiftSN>
<CmdType>A2</CmdType>
<MsgWay>0</MsgWay>
<IsSucc>0</IsSucc>
<T_isRec>0</T_isRec>
<T_IsCommit>0</T_IsCommit>
<SendTime>0001-01-01T00:00:00</SendTime>
<RecvTime>0001-01-01T00:00:00</RecvTime>
<CommitTime>0001-01-01T00:00:00</CommitTime>
<StartTime>0001-01-01T00:00:00</StartTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<OperTime>0001-01-01T00:00:00</OperTime>
</PttCmd>

<PttCmd>
<MsgTime>2010-01-05T17:25:17.873</MsgTime>
<TermId>SH1897</TermId>
<ShiftSN>201011315200</ShiftSN>
<CmdType>A2</CmdType>
<MsgWay>0</MsgWay>
<IsSucc>0</IsSucc>
<T_isRec>0</T_isRec>
<T_IsCommit>0</T_IsCommit>
<SendTime>0001-01-01T00:00:00</SendTime>
<RecvTime>0001-01-01T00:00:00</RecvTime>
<CommitTime>0001-01-01T00:00:00</CommitTime>
<StartTime>0001-01-01T00:00:00</StartTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<OperTime>0001-01-01T00:00:00</OperTime>
</PttCmd>

<PttCmd>
<MsgTime>2010-01-05T17:25:18.873</MsgTime>
<TermId>SH1897</TermId>
<ShiftSN>201011315200</ShiftSN>
<CmdType>A2</CmdType>
<MsgWay>0</MsgWay>
<IsSucc>0</IsSucc>
<T_isRec>0</T_isRec>
<T_IsCommit>0</T_IsCommit>
<SendTime>0001-01-01T00:00:00</SendTime>
<RecvTime>0001-01-01T00:00:00</RecvTime>
<CommitTime>0001-01-01T00:00:00</CommitTime>
<StartTime>0001-01-01T00:00:00</StartTime>
<EndTime>0001-01-01T00:00:00</EndTime>
<OperTime>0001-01-01T00:00:00</OperTime>
</PttCmd>
</CmdList>
</PttCmdDict>
</ArrayOfPttCmdDict>请教大家..我应该如何读取中间每一个值呢?? 

解决方案 »

  1.   

    我意思是从XML中取第一个节点的值.. 我在JS里面fields: ['TerminalId','TermId', 'MsgTime', 'CardId', 'SimNo', 'ShiftSN', 'CmdType', 'CmdMsg', 'IsSucc', 'T_isRec', 'T_IsCommit', 'SendTime', 'RecvTime', 'CommitTime'] 这样写并取不到值..除了'TerminalId'   ..  我不明白.. 因为webservice输出的是json格式.. 所以我用jsonStore来处理数据.. 我想做的效果是在gridPanel中显示每一个数值..但是只能显示'TerminalId'而已.
      

  2.   

    extjs读取json格式的不是正好吗?
      

  3.   

    不会应用的话就google查一下别人怎么用extjs来使用json格式的:
    http://www.cnblogs.com/orchidsure/archive/2009/05/05/1449956.html
      

  4.   

    ...我查了两天了... 什么都查不到. 而且.网上面的都只是一些很简单的json读取.. 根本没用. ~~  我不是要页面怎样读出来. 我是要用extjs读出来.然后做一个gridpanel来放.~ 现在问题改变了.. 我跟着官方的例子做好了一个gridpanel. 也成功的显示了一些数据.. 然后.我想官方的例子一样当我点击其中一行数据之后. 在grid的下面会显示这行数据相关的东西 在这里.. 我想是. 当选中一行数据. 就会自动填充一个gridpanel 然后把数据填进去..~ 
    我把代码放上来.. Ext.onReady(function() {
        var gridDtl;
        var myStore = new Ext.data.JsonStore({
            autoLoad: true,
            proxy: new Ext.data.HttpProxy({
                url: 'PttGetData.asmx/CancelableTerminal',
                headers: { 'Content-type': 'application/json' }
            }),
            root: 'd',
            fields: ['TerminalId']
        });    var grid = new Ext.grid.GridPanel({
            store: myStore,
            columns: [
                            { header: "Terminal ID", width: 300, dataIndex: 'TerminalId', sortable: true }
                        ],
            sm: new Ext.grid.RowSelectionModel({ singleSelect: true }),
            viewConfig: {
                forceFit: true
            },
            height: 210,
            split: true,
            region: 'north'    });
        var ct = new Ext.Panel({
            renderTo: 'CAV',
            frame: true,
            title: 'Book List',
            width: 540,
            height: 400,
            layout: 'border',
            items: [
    grid,
    gridDtl
    ]
        });    grid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) {
            var detailPanel = Ext.getCmp('detailPanel');
            var terminalid = r.data.TerminalId;
            var store = store = new Ext.data.JsonStore({
                baseParams: { te: terminalid },
                proxy: new Ext.data.HttpProxy({
                    url: 'PttGetData.asmx/qe',
                    headers: { 'Content-type': 'application/json' }
                }),
                root: 'd',
                fields: ['TermId', 'MsgTime', 'CardId', 'SimNo', 'ShiftSN', 'CmdType', 'CmdMsg', 'IsSucc', 'T_isRec', 'T_IsCommit', 'SendTime', 'RecvTime', 'CommitTime']        });        gridDtl = new Ext.grid.GridPanel({
                store: store,
                columns: [
                            { header: "信息收发时间", width: 300, dataIndex: 'MsgTime', sortable: true },
                            { header: "终端号", width: 300, dataIndex: 'TermId', sortable: true },
                            { header: "车牌号", width: 300, dataIndex: 'CardId', sortable: true },
                            { header: "终端sim卡号", width: 300, dataIndex: 'SimNo', sortable: true },
                            { header: "作业流水号/航次号/班次号", width: 300, dataIndex: 'ShiftSN', sortable: true },
                            { header: "命令类型", width: 300, dataIndex: 'CmdType', sortable: true },
                            { header: "命令信息内容", width: 300, dataIndex: 'CmdType', sortable: true },
                            { header: "收发是否成功", width: 300, dataIndex: 'IsSucc', sortable: true },
                            { header: "终端是否收到", width: 300, dataIndex: 'T_isRec', sortable: true },
                            { header: "终端是否人工确认", width: 300, dataIndex: 'T_IsCommit', sortable: true },
                            { header: "下发时间", width: 300, dataIndex: 'SendTime', sortable: true },
                            { header: "接收时间", width: 300, dataIndex: 'RecvTime', sortable: true },
                            { header: "人工确认时间", width: 300, dataIndex: 'CommitTime', sortable: true }
                        ],
                viewConfig: {
                    forceFit: true
                },
                height: 210,
                split: true,
                region: 'north'
            });
        });
        myStore.load();
    });  
    现在这段代码什么都没会现显...  请问要怎么样修改呢??
      

  5.   

    楼主只有2列第一列是对的,能显示吧
    第二列的dataIndex是'T'? 你的fields数组中没有'T'当然显示不出来了。{ header: "TermID", width: 300, dataIndex: 'T', sortable: true }