这里我们可以在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); }