Как: Автоматическое изменение ширины столбца GridPanel + чтение всех значений столбцов в сетке в Ext JS4 - PullRequest
0 голосов
/ 30 августа 2011

Как: Автоматическое изменение ширины столбца GridPanel + Чтение всех значений столбца в сетке в Ext JS4

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

Проблема 2. Чтобы достичь вышеуказанного (и по другим причинам), мне нужно знать, как получить значения для конкретного столбца сетки?Как только я знаю логику, следует реализовать ее как функцию визуализации столбцов?Будет ли вызываться функция визуализации столбцов каждый раз, когда будет прочитана запись данных (затем ее перебор)? В таком случае есть ли какая-либо другая функция, которую я могу переопределить?

Большинство решений (Grid Column Column Calculator, autoResizeColumnsи т. д.) Я нахожу в Интернете предыдущие версии, использую версию EXTJS 4.

Заранее спасибо, Скотт

Ответы [ 3 ]

1 голос
/ 20 февраля 2013

На самом деле есть плагин Extjs 4 для автоматического изменения размера столбцов сетки в зависимости от ширины содержимого и заголовка.

Вот ссылка: Плагин Extjs с 4 колонками для автоматического изменения размера

0 голосов
/ 22 сентября 2011

Я нашел временное исправление для переноса столбцов с помощью CSS, как описано здесь: ExtJS 4 - Обтекание заголовков столбцов на панели сетки

Добавьте следующее к ext js css

.x-column-header-inner {
    line-height: normal;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    text-align: center;
    top: 20%;
}

.x-column-header-inner .x-column-header-text {
    white-space: normal;
}
0 голосов
/ 31 августа 2011
  1. К сожалению, нет.Лучше всего было бы установить заданную ширину для данных, которые в целом были фиксированными, а затем установить другие столбцы с помощью flex.(или напишите / подождите плагин).

  2. Значения не сохраняются в grid, они находятся в grid store.Вам просто нужно зациклить store в вопросе и получить все значения из указанного столбца.Например:

    Ext.Array.each(Ext.StoreManager.get('myStore').getRange(0), function(record){
        console.log(record.get("myColumnName")); 
    });
    
...