jqxTreeGrid如果我单击一行中的特定单元格,则禁用对该行的选择/取消选择

jqxTreeGrid Disable selecting / deselecting of a row if I click a particular cell in that row

本文关键字:选择 取消 单元格 单击 如果 jqxTreeGrid 一行      更新时间:2023-09-26

我正在开发jqxTreeGrid。我有一排四个栏。姓名、组织、电话和选择首选项(这是一个下拉列表)。现在,每当我点击一个特定的行/单元格时,它就会选择该行,并将行数据保存到本地数组中。

我的问题是第四纵队。如果我点击该列(下拉列表),我不希望触发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();

});

看起来jqxTreeGrid有selectionMode选项。将其值设置为"自定义"将禁用单击时选择行的默认行为。只有API才能选择行。

$('#treeGrid').jqxTreeGrid({selectionMode: "custom" });