Сделайте редактируемую ячейку сетки одним щелчком мыши в современном инструментарии extjs

#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 в одном столбце.