Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript extjs 4.1.3未执行Ext.override列_Javascript_Extjs_Overriding - Fatal编程技术网

Javascript extjs 4.1.3未执行Ext.override列

Javascript extjs 4.1.3未执行Ext.override列,javascript,extjs,overriding,Javascript,Extjs,Overriding,试图覆盖函数: Ext.override(Ext.grid.column.Column, { prepareData: function(data, rowIdx, record, view, panel) { //more code... 但是当一个网格被加载到屏幕上时,这个函数不会被执行 相反,执行的函数是其父函数的prepareData函数: Ext.grid.header.Container 有些人知道为什么会这样 谢谢这基本上是一

试图覆盖函数:

    Ext.override(Ext.grid.column.Column, {
        prepareData: function(data, rowIdx, record, view, panel) { 
              //more code...
但是当一个网格被加载到屏幕上时,这个函数不会被执行

相反,执行的函数是其父函数的prepareData函数:

Ext.grid.header.Container

有些人知道为什么会这样


谢谢

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

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


我确实相信渲染系统在以后的版本中被更改为单独的列模型,这意味着该方法可能在4.1.x版本中用于将来的使用。

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

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


我确实相信渲染系统在以后的版本中被更改为单独的列模型,这意味着该方法可能在4.1.x版本中用于将来。

我试图覆盖列中的函数的原因是对所有列的文本进行html编码/解码,如果我重写parents prepareData函数,那将是一大块代码,我正在寻找一个更简单的解决方案。有什么想法吗?是的,但它将适用于特定的cloumn,我希望它适用于我网站中的所有cloumn,而不仅仅是我使用渲染的cloumn。我试图覆盖列中的函数的原因是对所有列的文本进行html编码/解码,如果我重写parents prepareData函数,那将是一大块代码,我正在寻找一个更简单的解决方案。有什么想法吗?是的,但它将适用于特定的cloumn,我希望它适用于我网站中的所有cloumn,而不仅仅是我使用渲染的cloumn。