包含extjs3.4store的词条

发布时间:2022-11-24

本文目录一览:

  1. Extjs3.4 获取iframe中连接的子页面中的store 急急急!!!!
  2. extjs 获取store部分值
  3. ExtJS4 获得store的数据
  4. extjs 怎么获得store
  5. extjs中,对store复制的一些问题

Extjs3.4 获取iframe中连接的子页面中的store 急急急!!!!

首先假设父子页面的html代码如下: PageParent.html

<head>
  <title>父页面</title>
</head>
<body>
  <div id="divParent">我们在下面嵌入一个IFrame指向PageSon.html:</div>
  <iframe id="IF_ID_NEED" src="PageSon.html" width="300" height="200" scrolling="no" frameborder="1"></iframe>
  <div>
    <input type="button" value="Input" onclick="alert(document.getElementById('IF_ID_NEED').contentWindow.divSon.value);">
    <input type="button" value="Script" onclick="document.getElementById('IF_ID_NEED').contentWindow.sayHello('Script!');">
  </div>
</body>

PageSon.html

<head>
  <title>子页面</title>
  <script type="text/javascript">
    function sayHello(name) {
      alert('Hello ' + name);
    }
  </script>
</head>
<body>
  这是子页面:
  <input id="divSon" value="子页面Input元素!">
  <input type="button" value="Access DIV" onclick="alert(window.parent.document.getElementById('divParent').innerHTML);">
</body>

简单而言,就是:

  • 从父页面访问子页面的DOM或者JavaScript:
alert(document.getElementById('IF_ID_NEED').contentWindow.divSon.value);
document.getElementById('IF_ID_NEED').contentWindow.sayHello('Script!');
  • 从子页面访问父页面DOM的情况:
alert(window.parent.document.getElementById('divParent').innerHTML);

运行此示例可能会碰到 same-origin policy 即所谓同源禁止跨域问题,解决:

  • Firefox目前版本支持对 file: 协议实现同源访问。
  • 谷歌浏览器截至版本 28.0.1500.95 m 还不允许,不过可以加参数启动 chrome.exe --disable-web-security
  • 当然示例如果运行在 localhost 或者 127.0.0.1 的网页服务器模式下自然就没有跨域一说了。 那么你的问题就显而易见了:
store: window.parent.store // 该store怎样从a.jsp页面中获取

extjs 获取store部分值

代码如下:

// ArrayStore
var keyNameStore = new Ext.data.ArrayStore({
  fields: ['text', 'value'],
  data : [
    ['商品编号','Meta_productsNo'],
    ['商品名称','Meta_productName']
  ]
});
// 通过value值获取keyNameStore里面的text
function getFilterFieldLable(value){
  var rt = "";
  var rowIndex = keyNameStore.getCount();
  for(var i=0; i < rowIndex; i++){
    var record = keyNameStore.getAt(i);
    var fields = Ext.util.JSON.encode(record.data);
    var fieldObj = Ext.util.JSON.decode(fields);
    if(value == fieldObj.value){
      rt = fieldObj.text;
      break;
    }
  }
  return rt;
}

ExtJS4 获得store的数据

要获取store里边的数据的方法是在太多啦:

var myStore = Ext.create('MyExtJS.store.UserStore');
// idx是该记录在store中的index,从0开始
var 变量 = myStore.getAt(idx).get('字段名');

而且,在ext的组件中还有很多方法,他已经把store的record当作变量给你传过来了,用起来相当方便,例如grid的监听事件:

listeners: {
  cellclick: function(g, t, i, r) {
    // 这里的r就是表格被选中行的记录
  }
}

store还有很多方法可以取出其中的数据,具体内容,查阅extjs的官方api,搜索store即可! 纯手敲,希望对lz有帮助~

extjs 怎么获得store

var ry_store = new Ext.data.JsonStore({
  // store configs
  autoDestroy: true,
  root: 'results',
  proxy: new Ext.data.HttpProxy({
    method: 'GET',
    prettyUrls: false,
    url: '#' // 参见Ext.Ajax.request的配置参数
  }),
  fields: ['loopback_ip', 'device_name', 'device_model', 'city_name']
});

store是自己定义的。就像这样写一下,然后 ry_store 就是store了。

extjs中,对store复制的一些问题

// 定义store
var storeB;
var storeA = Ext.create('Ext.data.Store', {
  fields: [{
    name: 'firstName'
  }, {
    name: 'lastName'
  }],
  data: [{
    firstName: 'Ed',
    lastName: 'Spencer'
  }, {
    firstName: 'Tommy',
    lastName: 'Maintz'
  }, {
    firstName: 'Aaron',
    lastName: 'Conran'
  }, {
    firstName: 'Jamie',
    lastName: 'Avins'
  }],
  listeners: {
    // 在执行load的时候复制他的数据
    load: function(store, records) {
      storeB = Ext.create('Ext.data.TreeStore', {
        fields: [{
          name: 'firstName',
          type: 'string'
        }, {
          name: 'lastName',
          type: 'string'
        }],
        data: records
      });
    }
  }
});