3

私はjqxTreeGridに取り組んでいます。私は4つのフィールドを持つ行を持っています。名前、組織、電話番号、および設定の選択 (これはドロップダウンです)。特定の行/セルをクリックすると、その行が選択され、行データがローカル配列に保存されます。

ここでの問題は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();


});
4

1 に答える 1

0

jqxTreeGrid にはselectionModeオプションがあるようです。その値を「カスタム」に設定すると、クリック時に行を選択するデフォルトの動作が無効になります。API のみが行を選択できるようになります。

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