Infragistics|Ultimate UI Jquery|當只想使用行選擇器複選框選擇 igGrid 行該如何處理

infragistics log


如果您希望僅通過行選擇器中的複選框來完成行選擇,請取消rowSelectionChanging 事件,除非 rowSelectionChanging 事件發生在 checkBoxStateChanging 和 checkBoxStateChanged 事件之間。


// 指示行選擇器的複選框狀態是否正在更改的標誌。
// true: 行選擇器複選框狀態正在改變
// false: 否則
var isCheckBoxStateChanging = false;

$(document).ready(function(){
    $("#grid1").igGrid({
        // ... (略) ...
        , features : [
            {
                name : "RowSelectors"
                , enableCheckBoxes: true
                , enableRowNumbering: false

                , checkBoxStateChanging: function (evt, ui) {
                    // 將標誌設置為 true 以指示行選擇器的複選框狀態正在更改。
                    isCheckBoxStateChanging = true;
                }   // checkBoxStateChanging 結束

                , checkBoxStateChanged: function (evt, ui) {
                    // 將標誌設置為 false 以指示行選擇器的複選框狀態正在更改。
                    isCheckBoxStateChanging = false;
                }   // checkBoxStateChanged 結束
            }
            , {
                name: "Selection"
                , mode: "row"
                , multipleSelection: true
                , enableCheckBoxes: true
                , activation: true

                , rowSelectionChanging: function(evt, ui){
                    // 除非行選擇器的複選框狀態正在改變,否則取消事件。
                    if(!isCheckBoxStateChanging) return false;
                }   // rowSelectionChanging結束
            }
        ]
        // ... (略) ...
    });
});


請注意,此方法僅在行選擇器複選框內單擊時有效。

1. 複選框狀態變化

2. 行選擇改變

3. 複選框狀態已更改

該方法著重於事件按以下順序發生的事實

事件發生順序可能因版本升級而發生變化,升級時請進行充分的運行確認測試。

(*本文截至 2020 年 4 月 10 日)






延伸閱讀
aa71435723的大頭照
Winston

Eggplant DAI 自動化測試專家。

留言