Extjs4 как автоматически установить ширину столбца сетки до максимальной ширины содержимого?

Если вы создаете сетку без атрибутов ширины столбца или гибкости, по умолчанию столбцы будут составлять 100 пикселей.

Если вы затем дважды щелкните разделитель заголовка, столбец влево автоматически расширится до размера самого большого элемента данных в этом столбце.

Есть ли способ настроить некоторые столбцы для автоматического использования этого поведения?

Ответ 1

forceFit: true в вашей конфигурации GridView заставит столбцы заполнить все оставшееся пространство.

forceFit: Boolean Укажите true, чтобы иметь ширину столбца повторно распределяется в любое время.

Первоначально настроенная ширина каждого столбца будет скорректирована так, чтобы она соответствовала ширину сетки и предотвращение горизонтальной прокрутки. Если столбцы позже (вручную или программно), другие столбцы в сетке будет изменяться в соответствии с шириной сетки.

Столбцы, которые настроены с фиксированным: true, исключаются из изменен.

Ответ 2

Итак, я думаю, что forceFit больше не рекомендуется sencha, вы должны попробовать использовать метод autoSize:
Редактирование: здесь вы найдете краткий пример, он работает в первом столбце:)

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) {
                dataview.panel.columns[0].autoSize();//works on the first colum
            }
        }
    },
    width: 450,
    renderTo: Ext.getBody()
});

У меня была такая же проблема, надеюсь, что это поможет!

Ответ 3

некоторые из столбцов могут быть очень широкими, например: текст описания или длинное имя. Если вы установите ширину поля автоматически, некоторые из столбцов могут занимать значительное место на вашем представлении. Каким должен быть максимальный предел ширины в этом сценарии. 50 CHAR, 100 CHAR?