Asp.net中表头合并 复杂表头实现
2012-09-10 17:53:06 来源:WEB开发网核心提示: 有需要需要实现复杂表头,折腾了一天多才做成这个样子 和大家分享一下代码实现 protected void Page_Load(object sender, EventArgs e) { DataTable tblDatas = new DataTable("Datas");
有需要需要实现复杂表头,折腾了一天多才做成这个样子 和大家分享一下
代码实现
protected void Page_Load(object sender, EventArgs e) { DataTable tblDatas = new DataTable("Datas"); tblDatas.Columns.Add("管理单位", Type.GetType("System.String")); tblDatas.Columns.Add("地区", Type.GetType("System.String")); tblDatas.Columns.Add("用户名称", Type.GetType("System.String")); tblDatas.Columns.Add("年度合同量", Type.GetType("System.String")); tblDatas.Columns.Add("平均出站压力", Type.GetType("System.String")); tblDatas.Columns.Add("日实际供气量", Type.GetType("System.String")); tblDatas.Columns.Add("月供气量", Type.GetType("System.String")); tblDatas.Columns.Add("年累计供气量", Type.GetType("System.String")); //添加数据 //tblDatas.Rows.Add(new object[] { "单位名称", "地区", "用户名称",10000,0.14,222,230,240 }); SqlConnection conn =new SqlConnection(); conn.ConnectionString=""; try { conn.Open(); SqlDataAdapter Sda = new SqlDataAdapter("SELECT g.MSSQY AS 管理单位,g.YHDQ AS 地区,g.yhm AS 用户名称,s.mhtl AS 年度合同量,s.MYL AS 平均出站压力,s.MGQL AS 日实际供气量, s.MYGQL AS 月供气量,s.MNGQL AS 年供气量 FROM dbo.YHGX g INNER JOIN dbo.YHGX_SJ s ON g.MZCMID=s.MZCMID AND g.MXLMID=s.MXLMID AND g.YHMID=s.YHMID AND g.SHYHMID=s.SHYHMID;",conn); DataSet ds = new DataSet(); Sda.Fill(ds,"Data"); //定义变量用于存储数据 string GLDW; //管理单位 string DQ; //地区 string YHMC; //用户名称 string NDHTL; //年度合同量 string PJCZYL; //平均出站压力 string RSJGQL; //日实际供气量 string YGQL; //月供气量 string NLJQL; //年累计气量 for (int i = 0; i < ds.Tables["Data"].Rows.Count; i++) { //开始把值赋值给变量然后添加到目标Datatable GLDW = ds.Tables["Data"].Rows[i][0].ToString().Trim(); DQ = ds.Tables["Data"].Rows[i][1].ToString().Trim(); YHMC = ds.Tables["Data"].Rows[i][2].ToString().Trim(); NDHTL = ds.Tables["Data"].Rows[i][3].ToString().Trim(); PJCZYL = ds.Tables["Data"].Rows[i][4].ToString().Trim(); RSJGQL = ds.Tables["Data"].Rows[i][5].ToString().Trim(); YGQL = ds.Tables["Data"].Rows[i][6].ToString().Trim(); NLJQL = ds.Tables["Data"].Rows[i][7].ToString().Trim(); tblDatas.Rows.Add(new object[] { GLDW, DQ, YHMC,NDHTL,PJCZYL,RSJGQL,YGQL,NLJQL }); } } catch (Exception ex) { throw ex; } finally { conn.Close(); conn.Dispose(); } this.GridView1.DataSource = tblDatas; this.GridView1.DataBind(); } protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) { case DataControlRowType.Header: string StrDate = DateTime.Now.ToString("yyyy.MM.dd"); //第一行表头 TableCellCollection tcHeader = e.Row.Cells; tcHeader.Clear(); //第二行表头 tcHeader.Add(new TableHeaderCell()); tcHeader[0].Attributes.Add("colspan", "1"); tcHeader[0].Attributes.Add("width", "60"); tcHeader[0].Text = "数据日期"; tcHeader.Add(new TableHeaderCell()); tcHeader[1].Attributes.Add("colspan", "4"); tcHeader[1].Attributes.Add("width", "160"); tcHeader[1].Text = StrDate; tcHeader.Add(new TableHeaderCell()); tcHeader[2].Attributes.Add("colspan", "1"); tcHeader[2].Attributes.Add("width", "165"); tcHeader[2].Text = "统计部门"; tcHeader.Add(new TableHeaderCell()); tcHeader[3].Attributes.Add("colspan", "5"); tcHeader[3].Attributes.Add("width", "240"); tcHeader[3].Text = "恒达研发</th></tr><tr>"; //第三行表头 tcHeader.Add(new TableHeaderCell()); tcHeader[4].Text = "管理单位"; tcHeader[4].Attributes.Add("rowspan","2"); tcHeader.Add(new TableHeaderCell()); tcHeader[5].Text = "地区"; tcHeader[5].Attributes.Add("rowspan", "2"); tcHeader.Add(new TableHeaderCell()); tcHeader[6].Text = "用户名称"; tcHeader[6].Attributes.Add("rowspan", "2"); tcHeader.Add(new TableHeaderCell()); tcHeader[7].Attributes.Add("colspan", "8"); tcHeader[7].Text = "单位(万方)</th></tr><tr>"; //添加第四行表头 //tcHeader.Add(new TableHeaderCell()); //tcHeader[8].Text = "管理单位"; //tcHeader.Add(new TableHeaderCell()); //tcHeader[9].Text = "地区"; //tcHeader.Add(new TableHeaderCell()); //tcHeader[10].Text = "用户名称"; tcHeader.Add(new TableHeaderCell()); tcHeader[8].Text = "年度合同量"; tcHeader.Add(new TableHeaderCell()); tcHeader[9].Text = "平均出站压力"; tcHeader.Add(new TableHeaderCell()); tcHeader[10].Text = "日实际供气量"; tcHeader.Add(new TableHeaderCell()); tcHeader[11].Text = "月供气量"; tcHeader.Add(new TableHeaderCell()); tcHeader[12].Text = "年累计供气量</th></tr><tr>"; break; } }
- ››asp.net页面弄成伪静态页面
- ››Asp.net 中将汉字转换成拼音的方法
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
更多精彩
赞助商链接