#gridview #extjs #extjs6-modern
#просмотр сетки #extjs #extjs6-современный
Вопрос:
В современном инструментарии extjs, как сделать ячейку сетки доступной для редактирования одним щелчком мыши? Я попробовал использовать clickToEdit: 1, как в классической версии. Но в современном мире это не работает. Кто-нибудь может подсказать мне по этому поводу.! Спасибо!
Ответ №1:
Вы можете использовать свойство ‘triggerEvent’ в конфигурации плагина ‘gridcellediting’. Что — то вроде этого:
plugins: {
gridcellediting: {
triggerEvent: 'tap', // edit on one click/tap
selectOnEdit: true
}
}
Комментарии:
1. Привет, Артур, я настраиваю редактор для ячеек сетки, используя метод childtap (childtap: this.onBeforeEditProperty). Похоже, это не работает должным образом после добавления triggerEvent: ‘tap’, что я могу для этого сделать?
2. Привет @PreethiShettigar, я не могу помочь вам без какого-нибудь примера скрипки или кода. Я также не совсем понимаю, что вы имеете в виду, говоря «Похоже, это не работает должным образом».
3. Я добавил прослушиватель дочерних элементов для сетки следующим образом, listeners:{ scope:this, childtap: this.onBeforeEditProperty } В методе ‘onBeforeEditProperty’ я устанавливаю редактор для выбранной ячейки, ,onBeforeEditProperty: функция (редактор, контекст, eOpts){ var col = context.column; var t = tr.get(‘type’); var te = App.getTypeEditor(t, контекст); if(te) { col.setEditor(te); } } } После добавления triggerEvent:’tap’ редактор не устанавливается.
4. @PreethiShettigar почему вы не использовали свойство ‘editor’ для Ext.gird.column. Класс столбца? Что-то вроде этого: { текст: ‘Дата рождения’, dataIndex: ‘Дата рождения’, flex: 1, // Включить редактирование ячеек редактируемое: true, редактор: ‘datefield’ // Редактор полей даты }
5. Для моего приложения мне нужны разные редакторы для разных ячеек в одном столбце. Так что придется установить editor в beforeeditproperty . У меня есть разные ячейки с текстовым полем, datefield в одном столбце.