3

我正在研究jqxTreeGrid。我有一排有四个字段。姓名、组织、电话和选择首选项(这是一个下拉菜单)。现在,当我单击特定行/单元格时,它会选择该行并将行数据保存到本地数组中。

我的问题是第四列。如果我单击该列(下拉列表),我不希望触发 rowSelect 事件,原因如下:

  1. 它取消选择我当然不希望发生的所有先前选择的行。
  2. 它选择了一行,但我的目的是为该行设置下拉列表的值。

我不希望任何事情发生,因为我只从首选项下拉列表中选择值。

我浏览了这篇文章:JQGrid Not select row when click in a specific cell但它没有帮助,因为 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();


});
4

1 回答 1

0

看起来 jqxTreeGrid 有selectionMode选项。将其值设置为“自定义”将禁用其在单击时选择行的默认行为。然后只有 API 能够选择行。

$('#treeGrid').jqxTreeGrid({selectionMode: "custom" }); 
于 2016-01-05T10:01:48.497 回答