Проблема с отображением при использовании расширения RowEditor на ExtJS GridPanel - PullRequest
2 голосов
/ 17 мая 2011

Я использую расширение RowEditor для редактирования GridPanel.Моя версия ExtJS - 3.3.0.Мне нужно, чтобы некоторые поля были редактируемыми, другие вообще нельзя редактировать, и я делаю это, игнорируя свойство editor в этих столбцах.Проблема в том, что когда редактор не найден, он искусственно генерируется в RowEditor.js следующим образом:

for(var i = 0, len = cm.getColumnCount(); i < len; i++){
        var c = cm.getColumnAt(i),
            ed = c.getEditor();
        if(!ed){
            ed = c.displayEditor || new Ext.form.DisplayField();
        }else{
            ed = ed.field;
        }
        //uninteresting code...
        this.insert(i, ed);
    }

Данные отображаются дважды, поэтому, как вы можете видетьна изображении ниже.

Thy grid

Есть ли быстрое решение, чтобы избавиться от этого ненужного текста, но при этом просмотреть существующие данные в сетке?Заранее спасибо.

1 Ответ

2 голосов
/ 07 июня 2011

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

Честно говоря, я бы просто обошелся без плагина rowEditor. Также просто иметь «обычные» редакторы (возможно, даже тот же код, который вы использовали для определения редакторов).

Затем, опять же, как вы уже сделали, вы просто игнорируете параметр editor столбцов, которые вам не нужны.

Если вы хотите выглядеть более причудливо, вы можете попробовать стилизовать выбранную строку (GetRowClass в Ext.NET, аналогично ExtJS? Или просто переопределить класс CSS выбранной строки).

...