如何使用ExtJs方法将Web服务响应(XML)绑定到网格

时间:2014-02-18 05:50:12

标签: javascript web-services extjs

我创建了一个示例Web服务,它返回一个xml,如下所示。

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml, UseHttpGet = true, XmlSerializeString = false)]
public XmlDocument GetPeople()
{    
 return Factory.GetPeopleController().GetPeople(); //Returning an an xml
}

我正在调用webservice方法,如下所示

<html>
<script type="text/javascript">
    Ext.require([
  'Ext.data.*',
  'Ext.grid.*'
  ]);
    debugger

    Ext.onReady(function () {
        Ext.define('Person', {
            extend: 'Ext.data.Model',
            proxy: {
                type: 'ajax',
                reader: 'xml'
            },
            fields: [
            // set up the fields mapping into the xml doc
            // The first needs mapping, the others are very basic
        'Id', 'FirstName', 'LastName', 'BirthDate']
        });
        debugger
        // create the Data Store
        var store = Ext.create('Ext.data.Store', {
            model: 'Person',
            autoLoad: true,
            proxy: {
                // load using HTTP
                type: 'ajax',
                url: "Service.asmx/GetPeopleXml",
                // the return will be XML, so lets set up a reader
                reader: {
                    type: 'xml',
                    // records will have an "Item" tag
                    record: 'Person',
                    idProperty: 'Id'

                }
            }
        });

        // create the grid
        Ext.create('Ext.grid.Panel', {
            store: store,
            columns: [
        { text: "Id", flex: 1, dataIndex: 'Id' },
        { text: "FirstName", width: 180, dataIndex: 'FirstName' },
        { text: "LastName", width: 115, dataIndex: 'LastName' },
        { text: "BirthDate", width: 100, dataIndex: 'BirthDate' }
    ],
            renderTo: 'example-grid',
            width: 540,
            height: 200
        });
    });
</script> 
</head>
<body>
<div id="example-grid"></div>
</body>
</html>

从服务接收xml:                           1        约翰        母鹿        1980年5月3日                       2         迈克尔         人群         1975年12月5日        
       

我正在使用extjs在网页中调用此服务方法。

我无法得到结果。所以请建议我如何将xml结果绑定到网格。

先谢谢。

0 个答案:

没有答案