`
kimmking
  • 浏览: 546671 次
  • 性别: Icon_minigender_1
  • 来自: 中华大丈夫学院
社区版块
存档分类
最新评论

ColumnModel的render时修改record报错问题以及解决方法

EXT 
阅读更多

 

GridPanel的ColumnModel render方法中recordset报错

 

描述:一个朋友做指标汇总,需要在render的时候,计算根据record中的某些数据计算汇总数据。

然后set到record中,但是很多时候都报错,大概是Ext.fly...中的dom为空。

调试了下js源码,找到问题。

 

原因:调用recordset方法时,如果不是正处于编辑状态,则会引发dirtydomupdate事件

render的时候,可能这一行的dom还可以创建出来,所以会引起找不到dom的错误。

 

解决方案

方案一:确保dom已经生成。

延时调用record.set

方案二:假装正在编辑状态。

record.editing = true;

record.set(dataIndex,value);

record.editing = false;

record.dirty = false;

 

 

--------------------

 

项目完成后,我就把这个多指标动态分组表头的汇总交叉表的抽出来做个demo给大家分享。

2
0
分享到:
评论

相关推荐

    Ext2.2动态生成ColumnModel

    在Ext2.2版本中,动态生成ColumnModel意味着在运行时根据数据或者用户交互来创建或修改列模型,这在处理不确定数量或类型的列时非常有用。 在源码层面,动态生成ColumnModel通常涉及到以下几个关键知识点: 1. **...

    Ext.grid.ColumnModel显示不正常

    Ext.grid.ColumnModel显示不正常

    EXTJS_GridPanel_ColumnModel_列的宽度随数据变化而变化

    为了解决这个问题,EXTJS提供了动态调整列宽的机制。 一种常见的方法是使用`flex`属性。在ColumnModel的配置项中,为需要动态调整的列设置`flex`属性。`flex`是一个浮点数,表示该列相对于其他列的伸缩比例。例如,...

    EXTGrid属性方法

    ### EXTGrid属性方法详解 #### 一、Ext.grid.GridPanel `Ext.grid.GridPanel`是ExtJS 4.0中的一个关键组件,用于创建数据表格。以下为该组件的一些核心属性及其含义: - **store**: 数据存储器,用于存放表格的...

    修改grid行或列颜色

    在本篇内容中,我们将详细探讨如何通过ExtJS框架来修改Grid中行或列的颜色,以便于实现更直观的数据展示效果。此方法适用于需要对数据进行视觉区分的应用场景,例如:高亮显示某些特定行或列,使得用户能够快速识别...

    ExtJs GridPanel双击事件获得双击的行

    本篇文章将深入讲解如何在ExtJs GridPanel中实现双击事件,并获取双击的行以及选中的复选框状态。 首先,我们要了解GridPanel的基本结构。GridPanel由Store(数据存储)和ColumnModel(列模型)组成,它们定义了...

    EXT GridPanel获取某一单元格的值

    EXT GridPanel的列模型(ColumnModel)提供了此方法来映射列索引到数据字段名。 - `record.get(fieldName);` 使用Record对象的get方法,通过字段名获取单元格的值。`fieldName`变量包含了之前获取的列对应的字段名...

    extjs render 用法介绍

    代码如下: var cm = new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer({ header: “”, width: 20, align: ‘center’ }), { header: ”, align: ‘center’, dataIndex: ‘AccountAndRoseID’, width: 50, ...

    ExtJS增删改查

    这三个部分分别用于存储数据、定义列布局以及构建表格本身。 ```javascript // 创建Store var ds = new Ext.data.Store({ // 数据源配置 }); // 创建ColumnModel var cm = new Ext.grid.ColumnModel([ {header: ...

    jtable选中需要修改的行

    总的来说,"jtable选中需要修改的行"涉及的主要知识点包括JTable的创建与使用、行选择监听、单元格编辑以及TableModel的管理。通过理解这些核心概念,我们可以创建出具有交互性的表格应用程序,让用户能够方便地查看...

    Ext左树有表格 增删改查

    record.set('name', '修改后的姓名'); ``` 查询记录可以根据各种条件进行,这通常涉及到对数据存储的筛选操作。 总的来说,"Ext左树有表格 增删改查"是一个常见的UI设计模式,它结合了ExtJS的树形组件和表格组件,...

    ext 读取xml 可编辑grid

    在EXT JS框架中,"ext 读取xml 可编辑grid"是一个常见的需求,涉及到的主要知识点包括EXT的数据对象、EditorGridPanel的使用以及EXT对XML数据格式的支持。下面将详细阐述这些内容。 EXT JS是一个强大的JavaScript库...

    ExtJs grid多选时获取选中的所有值

    // 当选中行时,触发获取选中记录的函数 }); ``` #### 五、总结 本文介绍了如何在ExtJs Grid中实现多选功能以及如何获取选中的所有值。通过使用`CheckboxSelectionModel`,我们可以轻松地为Grid添加多选功能,并...

    extjs 实现动态表头

    3. **动态添加/移除列**:当需要改变表头时,可以调用ColumnModel的`addColumn`和`removeColumn`方法,或者直接更新ColumnModel的配置数组。 4. **更新GridPanel**:添加或移除列后,需要调用GridPanel的`...

    jtable-弄了我一整天

    这篇文章可能涵盖了作者在理解和使用JTable过程中遇到的问题及解决方法。 描述中提到的链接指向了一篇ITEYE博客,但具体内容未给出。通常,这样的博客会包含作者的个人经验分享、问题分析、代码示例或者解决策略。...

    JTable隐藏某列后如何再恢复显示?

    3. 调用`removeColumn(TableColumn column)`方法移除列:`columnModel.removeColumn(column);` 恢复显示已隐藏的列则需要: 1. 确保你保存了隐藏列的信息,如索引或`TableColumn`对象。如果在隐藏时没有保存,可能...

    ext grid 动态扩展

    在创建 `ColumnModel` 时,我们需要提供一个包含列信息的 JavaScript 数组。数组中的每个元素都是一个对象,该对象定义了列的属性,如 `header`(列头文本),`dataIndex`(与数据存储关联的字段名),以及 `width`...

    Ext2.0框架的grid使用

    本文将深入探讨Ext2.0框架下Grid的使用方法,涵盖其基本配置、数据绑定以及高级特性如CheckBox的集成,旨在帮助开发者快速掌握并高效利用这一工具。 #### Grid组件概述 Grid组件在Ext2.0框架中主要用于展示表格...

Global site tag (gtag.js) - Google Analytics