最近负责开发公司大学英语四内部使用的人事信息化系统时,有一个需求是这样的,需要在页面中可以用户每次导出excel时自定义需要导出哪些列,经过半天的琢磨和倒腾,总算完成了这个需求。写篇blog记录一下小菜鸡的成长历程。哈哈哈。
需求见截图所示:
tbg:数据源使用datatable、且gridview中用于绑定数据的boundfiled列中使用的datafield全部是与checkbox中的id一一对应,这样方便后面循环这些控件时进行操作。
datatable dt = employeesrvices.getemployeesdatatable(); dictionary<string, bool> ckbinfolist = new dictionary<string, bool>(); foreach (var control in page.controls) { if (control.gettype().tostring() == "system.web.ui.htmlcontrols.htmlform") { htmlform form = (htmlform)control; foreach (var item in form.controls) { if (item is checkbox) { checkbox ckb = (checkbox)item; if (!ckb.checked) { ckbinfolist.add(ckb.id, fal); } el { ckbinfolist.add(ckb.id,true); } 浙江招生考试 } } } } //遍历gridview列,根据dictionary提供的内容来决定是否隐藏。 foreach (var control in page.controls) { if (control.gettype().tostring() == "system.web.ui.htmlcontrols.htmjunior什么意思lform") { htmlform form = (htmlform)control; foreach (var item in form.controls) 世外桃源的意思 { if (item.gettype().tostring() == "system.web.ui.webcontrols.gridview") { gridview gridview = (gridview)item; foreach (boundfield col in gridview.columns) { foreach (var keyvalue in ckbinfolist) { if (keyvalue.key == col.datafield) { col.visible = convert.toboolean(keyvalue.value); } } } } } } } gv.datasourc放假通知模板范文e = dt; gv.databind();
到此这篇关于asp.net使用原生控件实现自定义列导出功能的文章就介绍到这了,更多相关asp.net原生控件自定义列导出内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 17:33:33,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/cdcbba8771920e65551d86a6fb1f2921.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:asp.net使用原生控件实现自定义列导出功能的方法.doc
本文 PDF 下载地址:asp.net使用原生控件实现自定义列导出功能的方法.pdf
留言与评论(共有 0 条评论) |