Yui-ext之grid从xml取数据

 

Yui-extgridxml取数据

    test.xml

    <?xml version="1.0" encoding="GBK"?>

<students>

       <student>

           <id>1</id>

              <name>王世元</name>

              <address>江西</address>

              <sex></sex>

              <phone>

                     <mobile>2270795</mobile>

              </phone>

       </student>

      

       <student>

           <id>2</id>

              <name>周广</name>

              <address>吉林</address>

              <sex></sex>

              <phone>

                     <mobile>13888888</mobile>

              </phone>

       </student>

      

       <student>

           <id>3</id>

              <name>刘玉玲</name>

              <address>吉林</address>

              <sex></sex>

              <phone>

                     <mobile>15943502899</mobile>

              </phone>

       </student>

      

       <student>

           <id>4</id>

              <name>孙明哲</name>

              <address>吉林</address>

              <sex></sex>

              <phone>

                     <mobile>166666666</mobile>

              </phone>

       </student>

 

</students>

 

xml-grid.js

Ext.onReady(function(){

 

    //创建数据存储

    var ds = new Ext.data.Store({

        //http装载数据

        proxy: new Ext.data.HttpProxy({url: 'test.xml'}),

 

        // 读取xmlreader

        reader: new Ext.data.XmlReader({

               //记录的root节点

               record: 'student',

               id: 'id',

               totalRecords: '@total'

           }, [

               //设置字段和节点对应关系,mapping用于与字段不同名的节点

               //phone > mobile是指phone下面的mobile子节点

               {name: 'name', mapping: 'name'},

               'address', 'sex',

               {name: 'phone', mapping: 'phone > mobile'}

           ])

    });

      

       //创建列模型

    var cm = new Ext.grid.ColumnModel([

           {header: "姓名", width: 120, dataIndex: 'name'},

              {header: "地址", width: 180, dataIndex: 'address'},

              {header: "性别", width: 115, dataIndex: 'sex'},

              {header: "电话", width: 100, dataIndex: 'phone'}

       ]);

    cm.defaultSortable = true;

 

    // 创建grid

    var grid = new Ext.grid.Grid('example-grid', {

        ds: ds,

        cm: cm

    });

       //渲染grid

    grid.render();

 

    ds.load();

});

 

xml-grid.html

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GBK">

<title>XML Grid示例</title>

<link rel="stylesheet" type="text/css" href="ext-all.css" />

 

<!—加入需要的js-->

<script type="text/javascript" src="yui-utilities.js"></script>    

<script type="text/javascript" src="ext-yui-adapter.js"></script>    

 

<script type="text/javascript" src="ext-all.js"></script>

   

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

<link rel="stylesheet" type="text/css" href="grid-examples.css" />

<!—加入需要的js库完毕 -->

 

<!—示例样式表 -->

<link rel="stylesheet" type="text/css" href="examples.css" />

</head>

<body>

<script type="text/javascript" src="examples.js"></script><!-- EXAMPLES -->

<h1>XML Grid 示例</h1>

 

<!—放置griddiv,id"example-grid",与js中相对应-->

<div id="example-grid" class="x-grid-mso" style="border: 1px solid #c3daf9; overflow: hidden; width:520px;"></div>

 

</body>

</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值