技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 110 常见问题 0 技术文章 110

启用igGrid多行选择时,我想通过单击行来选择/取消选择行

时间:2023-04-21   访问量:1052

如果您想在 igGrid 中启用多行选择并单击一行以选择/取消选择该行:

在每个事件处理程序中

请执行流程。

现实中,由于事件发生的顺序和每个事件所能获取的信息不同,需要在一个变量中存储先发生的事件处理程序中发生了哪些操作,并匹配与后来发生的事件。有。

// 指示行选择器复选框被单击的变量

var isFiredFromCheckbox;

// 指示代码中是否发生选择切换的变量

var isSelectionOccured;

$ ( "#grid1" ) . igGrid ( {

   // ....

   特点:[

       {

           名称:“行选择器”

           enableCheckBoxes: true ,

           enableRowNumbering: false ,

           checkBoxStateChanging:函数evt,ui {

               // 更新指示行选择器复选框被单击的变量的值。

               isFiredFromCheckbox = true ;

           } ,   // checkBoxStateChanging 结束

           rowSelectorClicked:函数evt,ui {

               // 如果代码切换选择

               如果isSelectionOccured {

                   // 初始化一个变量,表示发生了代码选择切换

                   isSelectionOccured = false ;

               }

               // 如果代码没有切换选择

               // 即如果只选择了一行并单击了该行

               否则{

                   // 取消选择触发 rowSelectorClicked 事件的行。

                   $ ( ui.grid.element [ 0 ] ) . igGridSelection ( " deselectRowById " , ui.rowKey ) ; _

               }

           } ,   // rowSelectorClicked 结束

       } ,

       {

           名称:“选择”

           模式:“行”

           多选:

           rowSelectionChanging:函数evt,ui {

               // 如果行选择器复选框被点击

               如果isFiredFromCheckbox {

                   // 在代码中什么都不做。

                   // 初始化一个变量,指示行选择器复选框的单击状态。

                   isFiredFromCheckbox = false ;

               }

               // 如果行选择器复选框没有被点击

               否则{

                   // 获取选中的行。

                   var selectedRows = ui.owner.selectedRows ( ) ; _

                   // 判断选中的行中是否有发生rowSelectionChanging事件的行。

                   var found = false ;

                   for ( var i = 0 ; i < selectedRows.length ; i++ ) {

                       如果( selectedRows [ i ] .id == ui.row.id ) { _ _ _

                           发现=

                           打破;

                       }

                   }

                   // 如果选中的行中有发生rowSelectionChanging事件的行

                   如果找到{

                       // 取消选择触发 rowSelectionChanging 事件的行

                       ui.owner.deselectRowById ( ui.row.id ) ; _ _ _ _ _ _

                   }

                   // 如果没有选中的行有 rowSelectionChanging 事件

                   否则{

                       // 选择触发 rowSelectionChanging 事件的行。

                       ui.owner.selectRowById ( ui.row.id ) ; _ _ _ _ _ _

                   }

                   // 更新一个变量以指示代码选择已经发生。

                   isSelectionOccured = true ;

                   // 取消事件并阻止默认行为起作用。

                   返回

               }

           } ,   // rowSelectionChanging结束

       }

   ] ,

   cellClick:函数( evt, ui ) {

       // 如果代码切换选择

       如果isSelectionOccured {

           // 初始化一个变量以指示代码选择发生。

           isSelectionOccured = false ;

       }

       // 如果代码没有切换选择

       // 即如果只选择了一行并单击了该行

       否则{

           //取消选择发生cellClick的行

           $ ( ui.owner.element [ 0 ] ) . igGridSelection ( " deselectRowById " , ui.rowKey ) ; _

       }

   }

} ) ;

请注意,此方法的实现取决于截至 2020 年 5 月 28 日每个事件的发生顺序。事件发生顺序可能因版本升级而发生变化,升级时请进行充分的运行确认测试。


上一篇:隐藏 Excel 工作表

下一篇:尝试在 Visual Studio 2022 中开发面向 .NET Framework 4.7.x 或更早版本的 ASP.NET Web 窗体应用程序时,Infragistics 控件灰显

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部