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

简介: 官网给的例子里单页全选得不到ID,一个一个选能得到,所以我要添加JS方法把rowid存到一个hidden里以便让后台也能收到,使全选时能存储ID。 选中状态的方法为.setSelection(rowid),因为本来这个页就被选中了,所以这个方法就不用写了。

官网给的例子里单页全选得不到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控件,所以加了个onclick='selectRowAll(this)'就可以触发了。

目录
相关文章
|
前端开发 NoSQL .NET
一起谈.NET技术,重构TekPub——从ASP.NET MVC框架迁移到Ruby on Rails
  TekPub是一个面向开发人员的站点,致力于为开发人员提供一系列主题的在线培训,主题范围非常广泛,从微软的O/R Mapping框架Microsoft Entity Framework,到如何使用Ruby on Rails技术编写自己的日志引擎等内容都有涉及。
1595 0
|
.NET
一起谈.NET技术,ASP.NET 4.0 一些隐性的扩展
  ASP.NET 4.0在很多方面都做了改进,在这篇ASP.NET 4.0白皮书就描述了很多ASP.NET 4.0的机制改变和改进。在我的博客中,也有几篇关于ASP.NET4.0的特性修改的文章。但是作为一个全新的框架和运行时,内部肯定还会有很多API和扩展点不会暴露的那么明显。
827 0
|
Web App开发 .NET 数据库
一起谈.NET技术,ASP.NET中如何正确使用Session
  Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多;看到有一些Asp.Net开发人员报怨说Session不稳定,莫名其妙的丢失,其实这正是Asp.Net改进的地方之一。
1011 0
|
XML 前端开发 .NET
一起谈.NET技术,ASP.NET MVC 2生成动态表单的一种最简单的思路
  在BPM、OA等系统中,都会存在一个表单设计器。有些是通过操作gridview来完成一个表单的设计;有些是通过类似VS拖拽的方法完成一个表单的设计。很明显后面一种优越于前面一种。无论是哪种,最后都会产生一些XML之类的表单结构的数据。
1278 0
|
Web App开发 .NET 数据安全/隐私保护
一起谈.NET技术,ASP.NET身份验证机制membership入门——项目
  前面说了很多关于membership的内容,感觉内容有点凌乱,内容都是一个个知识点,下面我们通过一个小的项目,来把所有的相关内容串一下。   首先描述一下需求:   我们要做一个最简单的网站。有三类用户:匿名用户,员工,管理员,网站结构如下:        admin目录下的页面只允许admin角色的用户访问,employee目录下的页面只允许emp角色的用户访问。
1084 0
|
.NET
一起谈.NET技术,在ASP.NET 2.0中数据绑定的实现方法
1、为什么ASP.NET 2.0中的数据绑定控件不需要写代码就能完成更新、删除、新建等数据操作?   ASP.NET 1.x时,DataGrid等控件使用DataBinder.Eval(Container.DataItem,"ColumnName")这样的表达式可以将数据源中的数据绑定到控件上,但并不能在更新数据时自动将控件中的新值取出,更新回数据库。
1108 0
|
Web App开发 前端开发 .NET
一起谈.NET技术,13个不可不知的ASP.NET MVC扩展点
ASP.NET MVC设计的主要原则之一是可扩展性。处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的。因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏某些约定),您可以创建自己的服务来支持您的约定,并将其注入到主管线中。
1079 0
|
关系型数据库 MySQL C#
一起谈.NET技术,经验之谈:MySQL与ASP.NET配合更强大
  由于富有竞争力的价格和易于使用,MySQL在市场占有率方面逐步提升。开放源代码社区为了扩展MySQL的使用范围,开发出了.Net框架(.NET Framework)中可以使用的数据库连接器。我们就来学习一下如何在.Net应用程序中使用MySQL。
1489 0
|
前端开发 JavaScript .NET
一起谈.NET技术,跟ASP.NET MVC一起使用jQuery
  藉由ASP.NET MVC内置的扩展性,开发人员便可以使用第三方库,例如jQuery。在使用ASP.NET Webforms的时候,如果使用jQuery而不是ASP.NET AJAX,难度会比较大。
1078 0
|
Web App开发 前端开发 .NET
一起谈.NET技术,ASP.NET MVC2中Controller向View传递数据的三种方式
  在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML。这篇文章介绍三种由Controller向View传递数据的方式,实现一个DropDownList的显示。
931 0