jqgrid for asp.net 单页全选记录ID

官网给的例子里单页全选得不到ID,一个一个选能得到,所以我要添加JS方法rowid存到一个hidden里以便让后台也能收到,使全选时能存储ID。

选中状态的方法为.setSelection(rowid),因为本来这个页就被选中了,所以这个方法就不用写了。

第二步我要得到本页的所有rowid,因为我的rowid绑定的是数据ID,所以不是按顺序走的(可能跳),jqgrid for asp.net在前台也没有提供方法(反正我没找到)每次加载行,把rowid存到控件里就可以了,所以直接用了编辑连接地址的方法

 //显示资产信息
         function doShowAssetInfo(cellValue, options, rowObject) {
             var strURL = "./_view.aspx?";
             var imageHtml = "<a  target='_blank' style='color:Blue; text-decoration:nonde;' href='" + strURL + "'>" + cellValue + "</a>";
             document.getElementById("_hidListRows").value += document.getElementById("_hidListRows").value == "" ? rowObject[getColumnindex("Id")] : "," + rowObject[getColumnindex("Id")];
             return imageHtml;
         }

存在了_hidListRows里,以‘,’隔开的。

第三部就是存储ID,

         function selectRowAll(e) {//接收控件
             var grid = jQuery("#<%= Jqgrid1.ClientID %>");//得到jqgrid控件
             var ListRows = document.getElementById("_hidListRows").value;//获得所有rowid
             var rows = [];//集合
             var selection = false;//状态
             if (e.checked) {//判断状态
                 selection = true;//更改状态
             }
             rows = ListRows.toString().split(',');//重置集合
             for (var r in rows) {//循环
                 // grid.setSelection(rows[r]);//无用
                 rowSelected(rows[r], selection);//存储ID的方法
             }
 
         }
需要个集合var selectedRows = [];
        function rowSelected(rowID, isSelected) {//存储ID的方法
             selectedRows[rowID] = isSelected;//号对应状态
             updateSelectedRowsHidden();//翻页记录ID
         }
         //翻页记录ID
         function updateSelectedRowsHidden() {
             var hiddenrowField = $("#<%= SelectedRowsrow.ClientID %>");//得到控件
             var selectedrowValues = "";
             for (var row in selectedRows) {
                 if (selectedRows[row])//判断状态
                    selectedrowValues += selectedrowValues == "" ? row : "," + row;
             }
             hiddenrowField.val(selectedrowValues);//存到控件SelectedRowsrow里
         }

  因为rowSelected方法在选择行时用,所以就直接引用了这个方法,现在SelectedRowsrow控件里就是全选的ID了,var selectedRows = [];集合里也有选择的ID,循环时要判断状态。

第四步是触发selectRowAll,这里只能改js包了,jquery.jqGrid.min.js里"<input role='checkbox' id='cb_"+this.p.id+"'...是生成表头的checkbox控件,所以加了个οnclick='selectRowAll(this)'就可以触发了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起个昵称真费劲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值