Extjs 4.2.1 на moveColumn сохраняет свою позицию в панели сетки и базе данных

Я хочу переместить столбцы на панели сетки и сохранить их положение в базе данных, чтобы в следующий раз, когда я войду в систему, я получил такое же переупорядочение столбцов на панели сетки. Я использую следующую функцию для перемещения столбца в gridpanel.

columnmove: function (container, coulmn, from, to) {

alert('Столбец перемещен из' + from + 'To' + to); }


person Akanksha    schedule 29.05.2013    source источник


Ответы (2)


Вы можете реализовать Ext.state.Provider:

Абстрактный базовый класс для реализации поставщика состояния. Поставщик отвечает за установку значений и извлечение значений в/из базового источника хранения. Источник хранения может варьироваться, и детали должны быть реализованы в подклассе. Например, провайдер может использовать базу данных на стороне сервера или локальное хранилище браузера, где это поддерживается.

В качестве альтернативы вы можете использовать существующий класс Ext.state.LocalStorageProvider. .

person CD..    schedule 29.05.2013

Сохраните порядок столбцов через запятую или в другом формате в базе данных. В следующий раз создайте столбцы динамически, используя значения из бэкэнда.

что-то вроде этого

var selectedColumns = ['Description', 'DateTime', 'Type',  'Status']; 

  var gridColumns = [];
  for (var i = 0; i < selectedColumns.length; i++) {
  var col = {
                    text: selectedColumns[i],                  
                    dataIndex: selectedColumns[i],
                    sortable: true,                  
                    hideable: false,

                };


 gridColumns.push(col);


}

grid.columns= gridColumns

или использовать

grid.reconfigure(grid.getStore(), gridColumns);
person Sebastian Louis    schedule 02.09.2014