jqxTreeGrid Отключить выбор / отмена выбора строки, если я щелкаю конкретную ячейку в этой строке
Я работаю над jqxTreeGrid. У меня есть ряд с четырьмя полями. Имя, Org, Phone и Select Preference (это раскрывающийся список). Теперь, когда я нажимаю на конкретную строку / ячейку, она выбирает эту строку и сохраняет данные строки в локальном массиве.
Моя проблема здесь - 4-й столбец. Если я нажму на этот столбец (выпадающий список), я не хочу, чтобы событие rowSelect было вызвано по следующим причинам:
- Он отменяет выбор всех ранее выбранных строк, чего я, разумеется, не хочу.
- Он выбирает строку, но я намерен установить значение раскрывающегося списка для этой строки.
Я хочу, чтобы ничего не происходило, так как я выбираю только значение из выпадающего списка предпочтений.
Я пошел, хотя этот пост: JQGrid Не выбрать строку при щелчке в конкретной ячейке, но это не помогает, так как jqxTreeGrid не имеет этот метод.
Я попробовал следующий подход, но он не работает для меня.
$('#ad_sendAlert_jqxGrid').on('rowClick',function(event){
// event args.
var args = event.args;
// row data.
var row = args.row;
// row key.
var key = args.key;
// data field
var dataField = args.dataField;
if(dataField === 'alertpreference'){
event.preventDefault();
//event.stopPropagation();
return false;
}
});
И это мой метод rowSelect:
$('#ad_sendAlert_jqxGrid').on('rowSelect',function(event){
// event args.
var args = event.args;
// row data.
var row = args.row;
// row key.
var key = args.key;
if(row.level !== 0){
var selectedUser = self.tempUserList[row.id];
self.addUserToList(selectedUser);
}
self.renderUserCount();
});
1 ответ
Похоже, у jqxTreeGrid есть опция selectionMode. Установка его значения в "custom" отключит его поведение по умолчанию выбора строки при клике. Только API тогда сможет выбирать строки.
$('#treeGrid').jqxTreeGrid({selectionMode: "custom" });