文章分類/Infragistics
如果您希望僅通過行選擇器中的複選框來完成行選擇,請取消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 日)