• 访问Ext.data.store的数据


     这两天查阅了N多资料,看了很多的论坛,打算解决如何从store里面读取数据的问题,一开始我可以从Json中返回的store里面读取数据,但是在如何使用xml就不可以.而我要的恰恰是如何从xml里面读取数据,所以一直在寻找这样类似的方法,我们可以从它的api里面看到store.getAt(0)这样的方法,但是如果我们直接这么使用的话,就会出现一个错误,提示getAt函数所包含的数据为空,那么我们跟踪js的时候也无法得到具体的数据.这里是使用firefox来跟踪js的执行过程的,非常好用,建议大家也使用.对于Ext来说,可能它的文档就是一个给非常熟悉Ext的人员使用的参考,而对于初学者而言,参考价值不大,而且有的时候还容易误导,所以我们学习Ext的时候一直处于磕磕绊绊的状态.或者这也是人家将来要收费的原因吧,毕竟是开源的东西,而且Ext的文档提示的属性和方法是没有错误的.

    今天无意中在Ext的论坛里面发现了一个和我同样问题的帖子,最后他解决了问题,我也顺便解决了.但是他没有把他的代码粘贴出来,所以我现在把我的代码粘贴出来供参考.

    这是Xml文档

    <?xml version="1.0" encoding="utf-8" ?>
    <Items>
      
    <item input="Connect.Host" value="value.Connect.Host" />
      
    <item input="Connect.DB" value="value.Connect.DB" />
      
    <item input="Connect.User" value="value.Connect.User" />
      
    <item input="Connect.Password" value="value.Connect.Password" />
    </Items>

    下面是js代码:

            var ds = new Ext.data.Store({
              proxy: 
    new Ext.data.HttpProxy({url: 'test1.xml', method: 'GET'}),
              reader: 
    new Ext.data.XmlReader(
                 
    // records will have an "Item" tag
                 {record: 'item'},
                 [
                    
    // set up the fields mapping into the xml doc to extract *attributes*
                    {name: 'value', mapping: '@value'},
                    
    {name: 'input', mapping: '@input'}
              ])
            }
    );
     ds.on(
    'load',AJAX_Loaded, thistrue);//这里需要注意
     ds.load();
     
     
    function AJAX_Loaded(){
         alert(ds.getCount());
         
    for (var i = 0; i < ds.getCount(); i++{
            
    var rec = ds.getAt(i);
            alert(
    "value = '" + rec.get("value"));
            alert(
    "input = '" + rec.get("input"));
            }

        }

    需要注意的是,我们获得数据是通过load事件来实现的,这是很多人错误的地方,也就是说,如果我们不通过事件还是无法获得数据.

  • 相关阅读:
    [转]数值分析——多项式插值之Lagrange插值
    [转]上拉电阻&下拉电阻&高阻态
    [转]Verilog学习笔记基本语法篇(十三)...............Gate门
    Spring MVC中的Controller是Serlvet吗?
    preparestatement和statement的区别&&简单的SQL注入
    jquery局部变量和全局变量的错误
    js 中{},[]中括号,大括号使用详解
    Java数据库学习之SQL语句动态拼接
    jquery中关键字写错导致的错误——dataType写成dateType(data写成date)
    一次隐蔽的while死循环
  • 原文地址:https://www.cnblogs.com/meetrice/p/1224111.html
Copyright © 2020-2023  润新知