Нормально ли, что когда у меня есть сетка, и я выбираю первую строку, а затем пытаюсь выбрать другую строку, она фактически отменяет выбор первой строки, не выбирая новую? Мне это кажется особенностью, потому что это происходит со всеми моими сетками даже с самыми простыми настройками. Есть ли способ удалить эту опцию?
Выбор первой строки сетки ExtJS и отмена выбора
comment
Какую версию ExtJS вы используете?
- person forgivenson   schedule 07.07.2014
Ответы (2)
Да, это поведение по умолчанию. Вы можете установить режим выбора множественного выбора, который позволяет вам выбирать несколько строк, удерживая клавиши CTRL или SHIFT.
Я не уверен, какую версию ExtJS вы используете, но если это версия 4.2, вы можете установить mode
модели выбора на 'SIMPLE'
, чтобы добиться ожидаемого поведения.
Ext.create('Ext.panel.Grid', {
// other grid configs
selModel: {
mode: 'SIMPLE'
}
}
Документы для конфигурации mode
находятся здесь: http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.selection.Model-cfg-mode
person
forgivenson
schedule
07.07.2014
Я нашел упомянутую вами selModel, но не совсем понял, что делает режим SIMPLE. Спасибо за ответ
- person PentaKon; 07.07.2014
На самом деле теперь, когда я протестировал решение, это не то, что я хочу. По сути, мне нужна сетка, которая ведет себя так же, как файловая система Windows. Каждый щелчок отменяет выбор всего, что вы выбрали (независимо от того, первый это элемент или любой другой), а ctrl и Shift используются для множественного выбора. По сути, мне нужен режим: «МУЛЬТИ», но без поведения по умолчанию для первой строки сетки.
- person PentaKon; 08.07.2014
Я не знаю, что вы имеете в виду под поведением по умолчанию первой строки сетки, но
'MULTI'
— это то, что вы только что описали, как в Windows.
- person forgivenson; 08.07.2014
Если вы выберете ПЕРВУЮ строку в сетке, а затем попытаетесь выбрать другую строку, она ДОЛЖНА: - Отменить выбор первой строки. -Выберите новую строку. Однако, что он ДЕЛАЕТ: - Отмените выбор первой строки. Он не выбирает новую строку, которую я нажал. Это происходит только в том случае, если вы пытаетесь перейти из строки 1 в любую другую строку. Из любого другого ряда это происходит подобно окнам.
- person PentaKon; 08.07.2014
Странный. Я никогда не видел, чтобы это произошло. У меня есть сетки с множественным выбором, и они отлично работают, даже если сначала выбрать первую строку. Вот скрипт, который представляет собой простую сетку с включенным множественным выбором: fiddle.sencha.com/# скрипка/7g7
- person forgivenson; 08.07.2014
Это то, что я ищу, но это не то, как это работает на моей стороне... Хотя я не использую встроенные данные, но это не должно быть проблемой... Я проверю это снова завтра, когда Я иду на работу и пробую некоторые вещи.
- person PentaKon; 08.07.2014
У меня есть множество других гридов, которые я написал, которые используют удаленные хранилища, и они работают точно так же, как пример, который я привел. Что-то еще в вашей сетке должно быть причиной этой проблемы. У вас есть слушатели, когда строка выбрана? Попробуйте урезать его до минимума, пока он не заработает правильно, а затем постепенно добавляйте новые функции, пока не обнаружите, что один из них сломает его.
- person forgivenson; 08.07.2014
Проблема была с Extjs 4.2.1, кажется. Когда я обновился до 4.2.2, все отлично заработало.
- person PentaKon; 17.07.2014
Кажется, это была ошибка моей версии ExtJS. Мои коллеги использовали 4.2.2, а я использовал 4.2.1. При переходе на новую версию все исправилось само собой. Странно, потому что это, кажется, не было задокументировано...
person
PentaKon
schedule
11.07.2014
Ладно, я рад, что ты это понял.
- person forgivenson; 17.07.2014