GridView选择性导出Excel解决方案

  次阅读 作者:智能小宝 来源:互联网 2015-10-03 10:47 我要评论(0)

这篇文章主要介绍了GridView选择性导出Excel的解决方案,需要的朋友可以参考下

一、需求分析

首先根据用户需求,可以进行选择性导出,之前已经做了全部导出,这次新需求又来了,不过仔细想想也对,全部导出几万条数据,意义并不大,而可选择性的导出用户需要的数据才是用户需要的。有需求就有解决方法。

任何问题的解决方法都不止一个,GridView的选择性导出也一样,首先GridView绑定的是数据库的表数据,选择导出,我们也可以从数据中查询需要的数据,可以直接从前台GridView表中取得数据,问题来了,怎么判断选中了,怎么后去选中的那条信息的主键(或者获得整条信息)两个方向,到底哪个效率哪个更优?

二、解决方法

ONE

1.前台获取选中行的主键信息,通过JSON格式,传送到后台,后台解析后,再从数据库中取得数据,通过DataTable导出到 Excel

⑴. 导出所选操作

代码如下:

<asp:Button ID="Export" runat="server" CssClass="btn-lit" Text="导出所选" OnClientClick="return getnumberExport()" OnClick="Export_Click"/>

⑵. 前台JS,获取选中行的那条信息的主键,也就是GridView要有一列是主键,获取到所有的主键以JSON格式保存,然后传到服务器

代码如下:

<script type="text/javascript">

function getnumberExport() {

if (ExportCheck()) {

//通过GridView ID获取元素

var gv = document.getElementById("ctl00_ContentPlaceHolder1_gridView");

//获取GridView的Input html

var mycheck = gv.getElementsByTagName("input");

//定义一个新数组

var fam = new Array();

var hg;

var id;

//循环检测checkbox标签,获取每条数据的主键信息

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

if (mycheck[i].type == 'checkbox')//hidden

{

//如果checkbox被选中

if (mycheck[i].checked == true) {

var numid = new Object();

hg = gv.rows(i + 1).cells(20).innerHTML;

//substring() 方法用于提取字符串中介于两个指定下标之间的字符。

//LastIndexOf()倒取字符串,从后往前取到指定的字符

hg = hg.substring(hg.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类型

var nid = JSON.stringify(fam);

//post方式,向服务器传送数据

$.post("List.aspx", { Action: "action", numid: nid}, function (result) {

});

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...