【问题标题】:Extjs Grid - How to get width of column in renderer functionExtjs Grid - 如何在渲染器函数中获取列的宽度
【发布时间】:2013-10-03 05:33:58
【问题描述】:

我有一个网格面板和我的专栏之一

 columns: [
        ...
        { text: 'Name',  dataIndex: 'name' , width: 200,
             renderer: function (value) {
                  // how to get width of this column (200)
                  //alert(this.width); // this is width of gridpanel
             }
        }
        ...
 ],

如何获取此列的宽度,谢谢。

【问题讨论】:

    标签: extjs extjs4.1


    【解决方案1】:

    可以肯定,这不是理想的方法,但它确实有效。除了值之外,还有许多其他值传递给渲染器函数。通过 dom 检查,这将为您提供列宽,但我不认为在他们更新 ExtJS 时我会相信它可以工作:

    renderer: function (value, metaData, record, rowIndex, colIndex, store, view) {
        return view.ownerCt.columns[colIndex].getWidth();
    }
    

    或者,您可以使用组件查询来获取网格面板视图,使用行索引查找列,然后以相同的方式获取其宽度:

    renderer: function (value, metaData, record, rowIndex, colIndex, store, view) {
            var grid = Ext.ComponentQuery.query('#gridId')[0];
            return grid.columns[colIndex].getWidth();
        }
    

    我真的不知道在这种情况下什么是更好的选择,也不知道为什么他们通过 gridview 而不是 gridpanel 作为渲染器函数中的视图。无论如何,这应该让你开始,祝你好运。

    【讨论】:

      猜你喜欢
      • 2013-11-23
      • 1970-01-01
      • 2015-02-02
      • 2018-02-10
      • 2021-08-04
      • 2011-07-31
      • 2013-10-15
      • 2021-04-09
      • 2023-03-12
      相关资源
      最近更新 更多