Extjs网格-如何在渲染器函数中获取列的宽度
我有一个gridpanel和一个类似Extjs网格-如何在渲染器函数中获取列的宽度,extjs,extjs4.1,Extjs,Extjs4.1,我有一个gridpanel和一个类似 columns: [ ... { text: 'Name', dataIndex: 'name' , width: 200, renderer: function (value) { // how to get width of this column (200) //alert(this.width); // this is
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
}
}
...
],
如何获得此栏的宽度,谢谢。可以肯定这不是一种理想的方法,但它确实有效。除了值之外,还有许多其他值传递给渲染器函数。通过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作为视图。无论如何,这会让你开始,祝你好运