ExtJS 6 - 自动调整网格列标题文本

时间:2017-03-01 15:37:03

标签: extjs

有没有办法可以设置列宽以匹配列文本的宽度?如果需要,用户可以调整列的大小以查看内容,但我希望至少显示完整的标题文本,即使列内容不是。

感谢

1 个答案:

答案 0 :(得分:4)

是的,应该是可能的。您可以在列上调用方法autoSize()。 您可以将其与minWidthmaxWidth

结合使用

我在Sencha论坛上找到了Ext {4.2的this example所以它应该与Ext 6.2非常相似:

Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        { text: 'Name',  dataIndex: 'name',  width: 150, autoSizeColumn: true },
        { text: 'Email', dataIndex: 'email', width: 150, autoSizeColumn: true, minWidth: 150 },
        { text: 'Phone', dataIndex: 'phone', width: 150 }
    ],
    viewConfig: {
        listeners: {
            refresh: function(dataview) {
                Ext.each(dataview.panel.columns, function(column) {
                    if (column.autoSizeColumn === true)
                        column.autoSize();
                })
            }
        }
    },
    width: 450,
    renderTo: Ext.getBody()
});