• Repeater控件的使用 (原样导出和动态显示/隐藏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数据为空或则数据都缩到一列

           不要设置列的宽度为百分比 

  • 相关阅读:
    Hibernate在自由状态和持久的状态转变
    JS日期时间选择器
    LevelDB初体验
    java多线程样例
    PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题
    JavaScript--基于对象的脚本语言学习笔记(三)
    什么是消息队列?
    android 环境使用smack 必须注冊的组件
    AssetManager asset的使用
    键盘过滤驱动
  • 原文地址:https://www.cnblogs.com/gossip/p/1986821.html
Copyright © 2020-2023  润新知