Рендеринг флажка во внешней сетке.Панель редактирования

#javascript #extjs #checkbox

#javascript #extjs #флажок

Вопрос:

У меня есть веб-приложение, которое использует много EXTJS. У меня есть внешняя сетка.EditorGridPanel, который привязан к хранилищу, и мне нужно, чтобы один из столбцов был представлен флажком.

Я считаю, что я близок, но у меня все еще возникают некоторые проблемы. В частности, когда я реализую столбец во внешней сетке.columnModel вот так…

 {
    dataIndex: 'isActive',
    header: 'Active',
    editor: {
        xtype: 'checkbox',
        trueText: true,
        falseText: false
    },
    renderer: function(value) {
        return "<input type='checkbox'"   (value ? "checked='checked'" : "")   " / >";
    },
}
  

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

Однако оставшаяся проблема заключается в том, что, поскольку флажок, который появляется при первоначальном рендеринге, и флажок, который появляется при редактировании, не совсем совпадают. Следовательно, флажок «прыгает» в своей ячейке, когда вы нажимаете на него. Кроме того, после перехода флажка он все еще находится в исходном состоянии выбора с флажком или без флажка. Итак, вам нужно снова установить или снять флажок.

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

Я вроде как в тупике с этим. Есть предложения?

Заранее спасибо, Тим

Ответ №1:

Почему не использовать xtype: 'checkcolumn' ?

вот один из примеров: http://docs.sencha.com/extjs/4.0.7/extjs-build/examples/grid/cell-editing.html

также может быть полезен выбор флажка: http://docs.sencha.com/extjs/4.0.7/extjs-build/examples/grid/grid-plugins.html

если вам нужно что-то другое, дайте мне знать.

Комментарии:

1. Господи, СПАСИБО ТЕБЕ!