`
神仙公社
  • 浏览: 9096 次
社区版块
存档分类
最新评论

extjs grid中columns用到的store未初始化完成的解决办法

阅读更多

使用extjs 开发grid的时候,如果某列的editor是store ,在store没有完成加载的时候,加载list数据,可能出现

该列不显示的问题,如下

{
    header: '站点', dataIndex: 'stationId', flex: 1,
    renderer: function (value) {
        var store = stationStore;
        var record = store.queryBy(function (rec) {
            if (rec.data.code == value) {
                return true;
            }
        }, this);
        if (record.getCount() == 1) {
            return record.get(0).data.name;
        }
    },
    editor: {
        columnWidth: 1,
        xtype: 'combobox',
        typeAhead: true,
        editable: true,
        queryMode: 'local',
        valueField: "code",
        displayField: 'name',
        forceSelection: true,
        store: stationStore
}
},
第一次加载页面的时候,容易出现该列不显示的问题,解决办法如下
先设置list的store autoLoad:false
列中用到的store 加载完成后再调用list.getStore().reload().
var coalTypeStore = Ext.create('Ext.data.Store', {
    autoLoad: true,
    fields: [{name: "name", type: "string"},
        {name: "code", type: "string"}],
    proxy: {
        // async: false,
type: 'ajax',
        url: ',
        reader: {
            type: 'json',
            root: 'records'
}
    },
    listeners: {
        'load': function () {
            if (stationStore.getCount() > 0) {
//其他store是否加载完成 
                Ext.getCmp('xx').getStore().load();
            }
        }
    }
});
0
0
分享到:
评论

相关推荐

    ExtJs动态grid的生成

    动态生成Grid意味着在运行时根据需求创建和更新Grid组件,而不是在应用初始化时静态定义。这种灵活性允许开发者更好地响应数据的变化和用户的实时请求。在描述中提到的博客链接(由于无法直接访问,我们只能基于通用...

    Ext grid合并单元格

    初始化 Grid 最后,创建 Grid 实例时,设置了视图配置 `viewConfig`,指定了模板。此外,还创建了数据存储 `store` 和列模型 `colM`,并将其传递给了 Grid。 ```javascript var grid = new Ext.grid....

    extjs 简单表格

    这段代码首先引入了ExtJS库的CSS和JavaScript文件,然后在`Ext.onReady`函数中初始化表格。`data.html`文件可能是数据源,但在这里没有直接使用,因为数据已经内联定义在了`index.html`的脚本中。在实际项目中,数据...

    Extjs 实现多行合并(rowspan)效果

    - `demo.html`:这是一个示例HTML文件,其中包含了ExtJS GridPanel的配置和初始化代码,可能包含了上述提到的renderer函数、store配置和ColumnModel设置。 - `rowspan.js`:这是JavaScript文件,包含了实现多行合并...

    Extjs treeGrid 本地数据 例子

    ExtJS TreeGrid是一种结合了表格和树形结构的组件,常用于展示层次化的数据,它在ExtJS库中提供了一种高效且灵活的方式来展现多级数据。在这个“Extjs treeGrid 本地数据 例子”中,我们将探讨如何使用ExtJS创建一个...

    ExtJS4 动态生成的grid导出为excel示例

    此外,为了解决因未清理旧数据导致的格式错误,可能需要在生成新Excel文件前初始化一些关键变量,比如在`workbook.js`的77和78行: ```javascript this.styles = []; this.worksheets = []; ``` 这样,每次生成新的...

    动画效果的grid分页

    5. **loginform1.html**:这个文件可能是应用的入口HTML,包含了引入ExtJS库和其他资源的链接,以及初始化Grid的JavaScript代码。 6. **资源文件**:`resources`目录通常包含了CSS样式文件、图片等资源,它们用于...

    Extjs 4.2.0 MVC 架构 官方文档例子中文

    1. **初始化项目**:在项目的根目录下创建`app`文件夹,并在此文件夹下创建相应的子文件夹,如`controllers`、`models`、`views`和`stores`等。 2. **编写入口文件**:创建`index.html`文件,并在其中引入必要的...

    Ext grid与树实例

    在Ext Grid中,你可以定义列(columns)来展示数据的不同属性,通过store来绑定数据源,以及使用各种插件和功能,如行选择、分组、自定义编辑等。在提供的"extdemo"压缩包中,可能包含了一个展示如何创建和配置Grid...

    Extjs 自定义树结构实现以及动态表头实现

    2. **Column模型**:`Ext.grid.column.Column`是用于定义列的模型,我们可以通过创建多个Column实例来初始化表格的列结构。 3. **动态更新**:动态表头的关键在于能够根据需求动态改变`columns`数组。你可以通过`...

    extgrid 封装

    - 文件可能定义了一个名为`MyGrid`的类,包含了初始化Grid、配置列、绑定数据源等操作。 - 通过实例化这个类,可以在页面上轻松创建并使用Grid,例如`var myGrid = new MyGrid({config options});` - 可能还包含...

    ExtJS ToolTip功能

    `beforeedit`事件中创建并初始化了ToolTip对象,`edit`事件则销毁这些对象。 9. **ToolTip配置**: ```javascript var tips=[{ target:me.down('#company').getEditor().el, html:'ȡֵΧ[0,23]', showDelay:0...

    Extjs中文教程2.x

    - **语法**: 使用 `class` 关键字定义类,通过 `constructor` 方法初始化实例属性。 **2.2 Extjs 命名空间的定义** - **作用**: 用于组织和管理代码,避免全局变量污染。 - **示例**: `Ext.namespace('MyApp.view'...

    extjs3.4如何创建对象

    在EXTJS 3.4版本中,创建对象是框架中...总结,EXTJS 3.4创建对象涉及到的基本知识点包括对象实例化、配置项、自动渲染、组件组合、懒初始化以及MVC架构的运用。通过理解和掌握这些概念,可以高效地构建EXTJS应用程序。

    ExtJS实用开发指南

    #### 四、ExtJS的使用方法 **1. 初始化环境** - 在HTML文件中引入ExtJS库文件: ```html <script type="text/javascript" src="path/to/ext-all.js"></script> ``` - 定义启动函数: ```javascript Ext....

    extjs4.0学习笔记

    11. **数据源(Ext.grid.Panel)**:`store`是EXTJS中数据的容器,`columnLines`控制是否显示列分割线,`columns`定义了列的结构。`viewConfig`允许自定义网格视图的属性,如`stripeRows`用于开启斑马线效果,`...

    Extjs EditorGridPanel中ComboBox列的显示问题

    在EXTJS中,EditorGridPanel是一种可编辑的表格组件,它允许用户直接在表格单元格内编辑数据。然而,当在EditorGridPanel中嵌入ComboBox(下拉选择框)作为编辑器时,可能会遇到一个问题,即ComboBox显示的不是其...

    ExtJs MVC例子

    在ExtJS MVC中,`Ext.app.Application`是整个应用的入口点,它负责初始化所有控制器、视图、模型和存储。配置应用程序时,需要指定应用的名称、主视图、以及要加载的控制器。例如: ```javascript Ext.application...

Global site tag (gtag.js) - Google Analytics