extjs 4.1.3 Ext.override列未执行

时间:2013-09-11 13:36:15

标签: javascript extjs override

试图覆盖一个功能:

    Ext.override(Ext.grid.column.Column, {
        prepareData: function(data, rowIdx, record, view, panel) { 
              //more code...

但是当网格加载到屏幕时,此功能不会被执行

而是执行的函数是父级的prepareData函数

Ext.grid.header.Container

有些人知道为什么会这样?

由于

1 个答案:

答案 0 :(得分:1)

这基本上是一个继承问题......该列继承自具有此方法的Header.Container类(因此列类也具有它),但实际上从不为Column类调用此方法。 / p>

这样做的原因是网格渲染系统在4.1.x中的工作方式使得渲染一次完成整行(而不是单个列)。这意味着使用prepareData函数在单个列上工作只是Extjs团队没有实现(在4.1.x中),因此该函数永远不会在列级别使用。

我确实认为渲染系统在以后的版本中已更改为单个列模型,这意味着此方法可能会在将来用于4.1.x版本。