浅析Repeater控件的使用 (原样导出和动态显示/隐藏Repeater中的列)
程序员文章站
2022-06-03 15:14:33
一、repeater数据原样导出
datatable dt = viewstate["dtdatat"] as datatable; //repeater绑定的数...
一、repeater数据原样导出
datatable dt = viewstate["dtdatat"] as datatable; //repeater绑定的数据源 this.repeater1.datasource = dt; this.repeater1.databind(); displaydetailcol(false); //使用流方式导出excel httpcontext.current.response.contentencoding = system.text.encoding.default; httpcontext.current.response.contenttype = "application/ms-excel"; httpcontext.current.response.charset = "gb2312"; httpcontext.current.response.appendheader("content-disposition", "attachment;filename=" + context.server.urlpathencode("excel名称.xls")); //解决中文乱码问题 stringwriter sw = new stringwriter(); htmltextwriter htw = new htmltextwriter(sw); repeater1.rendercontrol(htw); httpcontext.current.response.write(sw.tostring()); httpcontext.current.response.end();
二、动态显示/隐藏repeater中的列
foreach (repeateritem item in this.repeater1.controls) { if (item.itemtype == listitemtype.header) { item.findcontrol("paneldetail").visible = b; } if (item.itemtype == listitemtype.item) { item.findcontrol("lbtndetail").visible = b; } }
三、下载的excel显示成html格式
需要将<table>标签添加到headertemplate和footertemplate中
四、导出的excel数据为空或则数据都缩到一列
不要设置列的宽度为百分比
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
下一篇: 详解C#读写Excel的几种方法