构建GridView多表头及添加尾末汇总行
来源:互联网 发布:马哥linux 编辑:程序博客网 时间:2024/04/28 00:26
最近在做项目资金统计,需要对GridView的表头进行重新构建,如多行表头,尾行汇总等。先看下展示效果。
这里我们可以在GridView控件的RowCreated事件中对数据行的格式进行处理。
protected void sgvCapitalDetailList_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { RebuildHeader(e.Row.Cells); } if (e.Row.RowType == DataControlRowType.Footer) { ReBuildFooter(e.Row.Cells); } }
/// <summary> /// 重建表尾 /// </summary> /// <param name="tcFooter">表尾单元格集合</param> void ReBuildFooter(TableCellCollection tcFooter) { tcFooter.Clear(); GridViewRow rowFooter = new GridViewRow(0, 0, DataControlRowType.Footer, DataControlRowState.Normal); rowFooter.BorderWidth = 1; rowFooter.Attributes.Add("class", "yy_sgv_fixRow1"); rowFooter.Attributes.Add("style", "z-index:1000;background-color:#eafbc9;;font-family:宋体;font-weight:bold;border:1px #719626 solid;"); TableCell footerCell = new TableCell(); footerCell.Text = "总计"; footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allOrganCaptital.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allOrganJGCaptital.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allZXJG.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allZDJG.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allYBJG.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allZXZW.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allOrganXLCaptital.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allAJJX.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allBCJJX.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allRCWH.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allZDFB.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allYBFB.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); footerCell = new TableCell(); footerCell.Text = allKJXM.ToString(); footerCell.HorizontalAlign = HorizontalAlign.Center; footerCell.Wrap = false; rowFooter.Cells.Add(footerCell); sgvCapitalDetailList.Controls[0].Controls.AddAt(rowSum + 3, rowFooter); }
/// <summary> /// 重建表头 /// </summary> /// <param name="tcHeader">表头单元格</param> void RebuildHeader(TableCellCollection tcHeader) { tcHeader.Clear(); GridViewRow rowHeader = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal); rowHeader.Attributes.Add("class", "yy_sgv_fixRow1"); rowHeader.Attributes.Add("style", "z-index:1000;background-color:#d2e8ff;color:#2965a2;font-family:宋体;font-weight:bold;border:1px solid;"); rowHeader.BorderWidth = 1; TableCell headerCell = new TableCell(); headerCell.Text = "企业名称"; headerCell.RowSpan = 2; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Attributes.Add("style", "vertical-align:middle;"); //合并后的单元格设置其垂直居中 headerCell.Wrap = false; rowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "合计"; headerCell.RowSpan = 2; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Attributes.Add("style", "vertical-align:middle;"); headerCell.Wrap = false; rowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "技改"; headerCell.ColumnSpan=5; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; rowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "修理"; headerCell.ColumnSpan = 7; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; rowHeader.Cells.Add(headerCell); GridViewRow secondRowHeader = new GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal); secondRowHeader.Attributes.Add("class", "yy_sgv_fixRow1"); secondRowHeader.Attributes.Add("style", "z-index:1000;background-color:#d2e8ff;color:#2965a2;font-family:宋体;font-weight:bold;"); secondRowHeader.BorderWidth = 1; headerCell = new TableCell(); headerCell.Text = "小计"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "专项技改"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "重点技改"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "一般技改"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "自行掌握"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "小计"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "A级检修"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "BC级检修"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "日常维护"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "重大非标"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "一般非标(<30万)"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); headerCell = new TableCell(); headerCell.Text = "科技项目"; headerCell.HorizontalAlign = HorizontalAlign.Center; headerCell.Wrap = false; secondRowHeader.Cells.Add(headerCell); sgvCapitalDetailList.Controls[0].Controls.AddAt(0, rowHeader); sgvCapitalDetailList.Controls[0].Controls.AddAt(1, secondRowHeader); }
- 构建GridView多表头及添加尾末汇总行
- 动态创建Gridview多表头和尾末统计行
- gridview 添加多行表头
- 实现GridView表头固定及添加表头背景
- gridview多行表头
- GridView多行表头
- GridView多行表头
- 为Gridview控件添加多行表头(之一)
- gridview添加活动表头
- GridView多行表头合并
- GridView多行表头合并
- GridView多行表头合并
- GridView多行表头合并
- GridView多行表头合并
- GridView多行表头创建
- gridview 添加汇总行 footer
- 为GridView添加层次表头
- gridview后台自定义添加表头
- vs2008中使用gdi+的设置
- 面向切向编程AOP——目录
- CentOS现在想知道mysql安装在了哪里,请问如何查看
- c++标准库—命名空间std和头文件的演变
- el表达式
- 构建GridView多表头及添加尾末汇总行
- 《那些年啊,那些事——一个程序员的奋斗史》——29
- Windows的系统环境变量
- 新时尚Windows8开发(29):多媒体捕捉(高级篇)
- 关于date的应用
- SQL中GROUP BY的用法
- 2011-05-26 17:03 android 打开各种类型的文件
- 《那些年啊,那些事——一个程序员的奋斗史》——30
- 用unity的mesh画圆