Плагин Ext JS 4.0 GridPanel CellEditing прерывается при вставке нескольких столбцов - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь найти правильный способ динамического добавления / удаления столбцов в GridPanel, который использует плагин CellEditing в Ext JS 4.0

Я пытался динамически добавлять / удалять столбцы в GridPanel, используя добавление HeaderContainer(), insert (), remove () методы

Проблема в том, что плагин CellEditing перестает работать правильно, когда я пытаюсь добавить или удалить более одного столбца:

  1. при существующей ячейкев режиме редактирования текст и курсор не видны
  2. первый добавленный столбец вообще не редактируется
  3. второй добавленный столбец редактируется

Действия для воспроизведения:

  1. запустить страницу
  2. выбрать ячейку в столбце, чтобы вставить позицию столбца, перед которой нужно добавить новый столбец
  3. нажмите кнопку добавления столбца и введите Name1 в диалоговом окне, нажмите ок
  4. повторите шаги 2-3. Используя Name2 в качестве имени столбца
  5. , попробуйте отредактировать текст в существующем столбце Company и в столбце Name1 и Name2

.Наш код и пример здесь: http://jsbin.com/otorix/edit#source / http://jsbin.com/otorix/edit#preview

Можете ли вы воспроизвести это поведение?Можете ли вы подтвердить это как ошибку?Или что я делаю не так?

Буду благодарен за любую помощь, которую вы можете оказать

1 Ответ

0 голосов
/ 23 марта 2012

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

  1. данные памяти для диапазона rangeData хранилища были массивом, в то время как читатель ожидал Объект с массивом внутри атрибута items (это, похоже, не вызывало никаких ошибок, но это намного понятнее)
  2. Переконфигурирование столбца было основной проблемой, я удалил часть, в которой вы создаете новый столбец и просто пишете конфигурацию для нового столбца, после этого добавляете новый столбец в конце массива столбцов или где-то посередине используя сращивание. Функция перенастройки в сетке дает возможность перенастроить хранилище и столбцы, поэтому безопаснее будет добавить вновь созданный столбец в контейнер заголовка.

у вас есть измененный код здесь http://jsbin.com/otorix/17/edit

...