ExtJS 4: преобразовать сетку в JSON для хранения в базе данных или преобразования в объект PHP - PullRequest
0 голосов
/ 14 февраля 2012

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

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

1 Ответ

2 голосов
/ 14 февраля 2012

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

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

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

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

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

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

...