【问题标题】:Extjs 4.0 MVC - grid column renderer function scope problemExtjs 4.0 MVC - 网格列渲染器功能范围问题
【发布时间】:2011-08-09 16:49:19
【问题描述】:

我不明白为什么我不能使用“myRendInside”函数来呈现网格列。我必须使用 myRendGlobal 或者我也可以使用 'renderer: function(val) {blah blah'。 'this.myRendInside' 没有得到解决。

function myRendGlobal (val, metaData, record, rowIndex, colIndex, store) {
        return val + 'abc'
        };
 Ext.define('AM.view.Event.Grid', {
        extend: 'Ext.grid.Panel',
         myRendInside: function (val, metaData, record, rowIndex, colIndex, store) {
            return val + 'xyz'
        },
        columns: [{
            dataIndex: 'name', renderer : this.myRendInside
        },
        {
            dataIndex: 'phone', renderer : myRendGlobal
        },  
        .
        .
        .

【问题讨论】:

    标签: model-view-controller extjs renderer


    【解决方案1】:

    您可以通过在构造函数或 initComponent 方法中定义列来解决此问题。直到组件生命周期中的这一点,您要分配为渲染器的方法才可用。

        initComponent(){
            this.columns: [{
            dataIndex: 'name', renderer : this.myRendInside
            }
            ...
            ]
            this.callParent(arguments);        
        }
    

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 1970-01-01
      • 2013-11-25
      • 2011-01-28
      • 1970-01-01
      • 2011-11-17
      • 2012-06-12
      • 1970-01-01
      • 2011-11-20
      相关资源
      最近更新 更多