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

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

 

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给大家分享。