0 0

extjs store手动加载问题 10

如果按下 “加载”按钮后,在该按钮的函数丽,给data 赋值,store加载data,  弹出win框并显示grid, 但是我grid怎么都没数据,不知道问题出在哪里?

 

 

Ext.onReady(function() {
    var cm = new Ext.grid.ColumnModel([
        {header:'编号',dataIndex:'id'},
        {header:'名称',dataIndex:'name'},
        {header:'描述',dataIndex:'descn'}
    ]);
//定义的本地变量,store要读取它
    var data;
    var store = new Ext.data.Store({
        proxy: new Ext.data.MemoryProxy(data),
        reader: new Ext.data.ArrayReader({}, [
            {name: 'id'},
            {name: 'name'},
            {name: 'descn'}
        ])
    });
 
    var grid = new Ext.grid.GridPanel({
        store: store,
        cm: cm,
        autoHeight:true        
    });
     
    var p = new Ext.Panel({
        el:'p',
        title:'test',       
        width:500,
        height:400,
       bbar:[   
                 {text: '加载', 
                  handler: function(){
                         data = [
                             ['1','name1','descn1'],
                             ['2','name2','descn2'],
                             ['3','name3','descn3'],
                             ['4','name4','descn4'],
                             ['5','name5','descn5']
                         ];
                         store.load();
                          win.show();
                  }
              } ]
    });
    p.render();
     
    var win = new Ext.Window({
        title:'test',       
        width:500,
        height:400,
        items:grid
    })
});

 谢谢!

2014年6月23日 23:14

2个答案 按时间排序 按投票排序

0 0

store.loadData(data);

2014年6月24日 16:49
0 0

Ext.onReady(function () {

    var store = Ext.create('Ext.data.ArrayStore', {
      fields: [
        {name: 'id'},
        {name: 'name'},
        {name: 'descn'}
      ],
      proxy: {
        type: 'memory',
        reader: {
          type: 'array'
        }
      }
    });

    Ext.create('Ext.panel.Panel', {
      title: 'Hello',
      width: 200,
      html: '<p>World!</p>',
      renderTo: Ext.getBody(),
      bbar: [
        {text: '加载',
          handler: function () {
            store.loadData([
              ['1', 'name1', 'descn1'],
              ['2', 'name2', 'descn2'],
              ['3', 'name3', 'descn3'],
              ['4', 'name4', 'descn4'],
              ['5', 'name5', 'descn5']
            ]);
            
            Ext.create('Ext.window.Window', {
              title: 'Hello',
              height: 200,
              width: 400,
              layout: 'fit',
              items: {
                xtype: 'grid',
                border: false,
                columns: [
                  {header: '编号', dataIndex: 'id'},
                  {header: '名称', dataIndex: 'name'},
                  {header: '描述', dataIndex: 'descn'}
                ],
                store: store
              }
            }).show();
          }
        }
      ]
    });
  });

2014年6月24日 11:27

相关推荐

    Extjs4树结构异步加载

    在ExtJS4中实现树结构的异步加载,主要涉及以下几个关键概念: 1. **TreeStore**: TreeStore是树结构的数据源,它负责管理与服务器之间的数据通信。对于异步加载,我们需要配置TreeStore,设置`autoLoad`为`false`...

    Extjs之旅-combox之远程加载数据

    本篇我们将深入探讨“Extjs之旅”中的一个关键组件——Combox(组合框),特别是其远程加载数据的特性。 Combox在ExtJS中是一个非常灵活的控件,它可以看作是下拉列表和文本输入框的结合体,用户可以输入文本搜索,...

    Extjs5手动搭建MVVM项目demo

    在ViewModel中,你可以通过Store的`load`方法加载数据,如`this.getStore('Test1Store').load();`。 7. **运行项目**:最后,启动开发服务器,通过`sencha app watch`命令,然后在浏览器中访问`...

    extjs表单中的下拉框(comobobox)手动添加空选项

    3. **加载数据前插入空选项**:我们可以通过监听`store`的`load`事件,在数据加载之前将空选项插入到`store`的最前面。这样做的好处是无论后面的数据如何变化,空选项都会保持在列表的最上方。 ```javascript ...

    extjs editgrid 回显问题.rar

    你需要手动调用`store.sync()`来与服务器同步数据,或者配置Store为自动同步,例如设置`autoSync: true`。 6. **远程验证**:如果应用了远程验证,确保在验证成功后更新了本地数据。远程验证可能会延迟回显,直到...

    EXTJS 折线 chart action 代码示例

    当store加载时,EXTJS会自动向服务器发送请求获取数据。例如,对于Java后端,可以使用Ajax proxy,并设置URL指向Java服务接口。 ```javascript var store = Ext.create('Ext.data.Store', { model: 'MyModel', ...

    extjs 分页是碰到的问题,点击下一页事,查询条件无法传递

    在Extjs中使用`pagingtoolbar`组件进行分页操作时,通常情况下,当我们点击“下一页”,`store`会自动加载数据。但是,默认情况下`store`只传递了`start`和`limit`两个参数,这意味着如果之前进行了某种查询(例如...

    extjs4Mvc事例

    通过连接到数据源(如JSON或XML),Store可以在后台异步加载数据,同时也支持实时数据绑定,当数据变化时,视图会自动更新。 3. **View(视图)**:视图层是用户界面的表示,包括控件、面板、表格等。在ExtJS中,...

    Extjs grid分页1

    同时,`store.load()`方法也可以用于手动加载特定页的数据。 4. **自定义分页**:如果需要更复杂的分页逻辑,例如服务器端分页,可以自定义`proxy`的`load`方法,将`start`和`limit`参数(分别表示起始位置和每页...

    ExtJs4.0官方版本

    Store是ExtJS 4中处理数据的主要对象,它可以加载、存储和管理来自服务器的数据。Store支持各种数据源,如JSON、XML或Array,并提供了分页、排序、过滤等功能。 5. 动画效果 ExtJS 4引入了动画系统,使得在用户界面...

    extjs实现动态树

    `loader`有`url`属性指定服务器地址,`params`属性传递请求参数,`load`方法用于手动触发加载。 三、节点操作 1. 添加节点:可以通过`insertChild`方法向现有节点下添加新节点。 2. 删除节点:使用`removeChild`...

    extjs模拟excel表格

    数据可以通过Ajax请求加载,也可以手动填充。 2. **列配置**:GridPanel的列可以通过配置项定义,包括列名、宽度、对齐方式、排序和过滤等。我们可以使用renderer函数来自定义单元格的显示,例如格式化数字、日期或...

    extjs最简单的数据绑定和修改

    否则,需要手动调用`store.sync()`。 5. 监听数据变更事件: 可以监听Store的`update`事件来处理数据修改后的操作,例如`store.on('update', function(store, record, operation) {...})`。 6. 删除数据: 使用`...

    extjs4中文文档

    6. **Ajax和数据管理**:EXTJS4内置了强大的Ajax请求处理和数据管理机制,通过Ext.data.Proxy和Ext.data.Store可以轻松处理远程数据请求和本地数据存储。 7. **可访问性**:EXTJS4注重无障碍性,遵循WCAG 2.0标准,...

    ExtJS官方帮助文档6.5.0

    5. **数据绑定**:ExtJS的数据绑定机制允许开发者轻松地将视图组件与数据源关联,实现数据的实时更新,减少了手动处理DOM操作的需求。 6. **Model-View-Controller (MVC)**:ExtJS采用MVC模式组织代码,提高代码...

    EXTJS2 API

    2. **数据绑定(Data Binding)**:EXTJS2实现了双向数据绑定,允许视图层和模型层的数据自动同步,减少了手动更新UI的工作。数据源可以是JSON、XML或者远程服务。 3. **布局管理(Layouts)**:EXTJS2支持多种布局...

    ExtJs异步请求和特殊用途

    ExtJS的Store对象与Model类结合,可以轻松实现异步数据加载和刷新。Store自动处理Ajax请求,获取并处理服务器返回的数据。 通过深入学习和实践这些知识点,开发者可以熟练掌握ExtJS中的异步请求,构建高效且响应...

    Extjs4 关于Store的一些操作(加载/回调/添加)

    首先,讨论关于ExtJs Store加载和回调的问题。在实际开发中,经常会遇到Store加载数据是一个异步过程,加载过程中Grid会显示一片空白,直到数据加载完成。为了改善用户体验,我们需要在加载数据前后给予用户一些提示...

    spket1.6.12+extjs5简单示例

    本文将详细介绍如何使用 Spket 1.6.12 集成开发环境(IDE)与 ExtJS 5 框架相结合,创建一个简单的应用程序,并通过 JSON 数据自动生成对应的 Java 类型的 model 和 store 文件。ExtJS 是一个流行的JavaScript库,...

    EXTJS代码生成器

    1. **Store(存储)**:EXTJS中的数据存储,连接到模型并管理数据加载、刷新、添加、删除等操作,对应于数据库的CRUD操作。 2. **Grid(表格)**:显示和编辑数据的组件,通常与Store和Model结合使用,可以实现数据...

Global site tag (gtag.js) - Google Analytics