2012-02-14 2 views
0

Я хочу взять существующую сетку ExtJS 4 и преобразовать ее в объект JSON для транспорта на бэкэнд моего приложения (PHP). Что мне нужно сделать, чтобы это произошло? Нужно ли просто перезаписать метод сетки getState и метод getColumnState объекта столбца?ExtJS 4: преобразовать сетку в JSON для хранения в базе данных или конвертировать в объект PHP

Каков наилучший подход для этого?

+0

Вы имеете в виду магазин, а не сетки? Или вы говорите о состоянии сетки по мере ее отображения, а не о базовых данных? – dbrin

+0

Я ищу для отправки информации о столбцах (заголовки, размер и т. Д.), Порядок сортировки сетки и любые фильтры, применяемые к хранилищу. Так что да, и магазин, и сетка. –

ответ

2

Переопределение getColumnState для колонки - хорошая идея. По умолчанию предполагается, что вы снова будете использовать данные с тем же видом и что такие вещи, как идентификаторы столбцов, будут одинаковыми. Теперь у меня есть getColumnState, возвращающий объект, который может использоваться как конфиг для столбца. Добавьте все, что вам нужно из сетки, и сохраните, как вы сочтете это полезным.

Я обнаружил, что мне нужно text, dataIndex, hidden, draggable, hideable, resizable, minWidth и flex. (И иногда ширина).

Edit: Вы хотите что-то вроде:

getColumnState: function() { 
    return { 
     text: this.text, 
     ... 
    }; 
} 

Посмотрите на оригинальный getColumnState, чтобы увидеть, что они делают о сгруппированных колонн и ширины против прогибается, если вам нужно эти вещи.

Тогда просто позвоните grid.headerCt.getColumnsState()

+0

Похоже, что мне нужно. Не могли бы вы разместить свой код? –

Смежные вопросы