欢迎来到天天文库
浏览记录
ID:15062585
大小:40.50 KB
页数:11页
时间:2018-08-01
《gridview选择性导出excel解决方案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、gridview选择性导出excel解决方案GridView选择性导出Excel解决方案这篇文章主要介绍了GridView选择性导出Excel的解决方案,需要的朋友可以参考下一、需求分析首先根据用户需求,可以进行选择性导出,之前已经做了全部导出,这次新需求又来了,不过仔细想想也对,全部导出几万条数据,意义并不大,而可选择性的导出用户需要的数据才是用户需要的。有需求就有解决方法。任何问题的解决方法都不止一个,GridView的选择性导出也一样,首先GridView绑定的是数据库的表数据,选择导出,我们也可以从数据中查询需要的数据,可以直接从前台GridView表中取得数据,问题来了,
2、怎么判断选中了,怎么后去选中的那条信息的主键(或者获得整条信息)两个方向,到底哪个效率哪个更优,二、解决方法ONE1.前台获取选中行的主键信息,通过JSON格式,传送到后台,后台解析后,再从数据库中取得数据,通过DataTable导出到Excel?.导出所选操作代码如下:asp:ButtonID="Export"runat="server"CssClass="btn-lit"Text="导出所选"OnClientClick="returngetnumberExport()"OnClick="Export_Click"/?.前台JS,获取选中行的那条信息的主键,也就是GridView
3、要有一列是主键,获取到所有的主键以JSON格式保存,然后传到服务器代码如下:scripttype="text/javascript"functiongetnumberExport(){if(ExportCheck()){//通过GridViewID获取元素vargv=document.getElementById("ctl00_ContentPlaceHolder1_gridView");//获取GridView的Inputhtmlvarmycheck=gv.getElementsByTagName("input");//定义一个新数组varfam=newArray();varhg
4、;varid;//循环检测checkbox标签,获取每条数据的主键信息for(vari=0;imycheck.length;i++){if(mycheck[i].type=='checkbox')//hidden{//如果checkbox被选中if(mycheck[i].checked==true){varnumid=newObject();hg=gv.rows(i+1).cells(20).innerHTML;//substring()方法用于提取字符串中介于两个指定下标之间的字符。//LastIndexOf()倒取字符串,从后往前取到指定的字符hg=hg.substring(h
5、g.lastIndexOf("=")+1,hg.lastIndexOf("""));//获取一条数据的主键id=gv.rows(i+1).cells(1).innerHTML;numid.number=hg;numid.id=id;fam.push(numid);}}}//$.ajaxSetup({//async:false//设置为同步请求//});//将数组转换成JSON类型varnid=JSON.stringify(fam);//post方式,向服务器传送数据$.post("List.aspx",{Action:"action",numid:nid},function(res
6、ult){});}else{returnfalse;}}/script?.后台解析JSON,转换成DataTable,导出到Excel代码如下:protectedvoidPage_Load(objectsender,EventArgse){//判断服务器是否正确接收数据if(Request.Params["Action"]!=null){//获取前台的JSONstringnumid=Request.Params["numid"].ToString();Session["numid"]=numid;}}///summary///选择性导出EXCEL////summary///para
7、mname="sender"/param///paramname="e"/paramprotectedvoidExport_Click(objectsender,EventArgse){FamilyPlanningFacadefamilyPlanningFacade=newFamilyPlanningFacade();//实例化计生外观层DataSetdsAllFamily=newDataSet();DataSetdsOneFamily=newDataSet();ds
此文档下载收益归作者所有