jqxTreeGrid Отключить выбор / отмена выбора строки, если я щелкаю конкретную ячейку в этой строке

Я работаю над jqxTreeGrid. У меня есть ряд с четырьмя полями. Имя, Org, Phone и Select Preference (это раскрывающийся список). Теперь, когда я нажимаю на конкретную строку / ячейку, она выбирает эту строку и сохраняет данные строки в локальном массиве.

Моя проблема здесь - 4-й столбец. Если я нажму на этот столбец (выпадающий список), я не хочу, чтобы событие rowSelect было вызвано по следующим причинам:

  1. Он отменяет выбор всех ранее выбранных строк, чего я, разумеется, не хочу.
  2. Он выбирает строку, но я намерен установить значение раскрывающегося списка для этой строки.

Я хочу, чтобы ничего не происходило, так как я выбираю только значение из выпадающего списка предпочтений.

Я пошел, хотя этот пост: 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" }); 
Другие вопросы по тегам