当前位置:编程学习 > C#/ASP.NET >>

如何访问GridView多行表头的单元格?

GridView多行表头的实现:

在GridView的RowCreated事件中写添加代码
protected void SmartGridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
GridViewRow rowHeader = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);//表头行
TableHeaderCell cell = new TableHeaderCell();
cell.ColumnSpan = 5;
rowHeader.Cells.Add(cell);
cell = new TableHeaderCell();
cell.Text = Resources.Coding.Revenue;
cell.ColumnSpan = 5;
rowHeader.Cells.Add(cell);
cell = new TableHeaderCell();
cell.Text = Resources.Coding.Cost;
cell.ColumnSpan = 5;
rowHeader.Cells.Add(cell);
rowHeader.Cells.Add(new TableHeaderCell());
((GridView)sender).Controls[0].Controls.AddAt(0, rowHeader);//加到最前面
}
}

-------------
我的问题是,怎样后台代码访问这增加的一行标题列中的单元格?
以便在将gridview导出到Excel时能够生成一样的多行表头? --------------------编程问答-------------------- 帮顶   学习... --------------------编程问答-------------------- 举个例子,希望你能明白:
cellbumen.Text 后面写内容。导出是把整个GRIDVIEW导出就行了。

Table table2 = (Table)GridView1.Controls[0];
        GridViewRow row2s = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);
        TableCell cellbumen = new TableCell(); cellbumen.ColumnSpan = 2; cellbumen.HorizontalAlign = HorizontalAlign.Left; cellbumen.Text = "部門:" + bumenname;
        TableCell cellbumen1 = new TableCell(); cellbumen1.ColumnSpan = 2; cellbumen1.HorizontalAlign = HorizontalAlign.Left; cellbumen1.Text = "日期:"+daochutime;
        TableCell cellbumen2 = new TableCell(); cellbumen2.ColumnSpan = 2; cellbumen2.HorizontalAlign = HorizontalAlign.Left; cellbumen2.Text = "在册:" + zaicenum;
        TableCell cellbumen3 = new TableCell(); cellbumen3.ColumnSpan = 5; cellbumen3.HorizontalAlign = HorizontalAlign.Left; cellbumen3.Text = "上班:"+shangbnum;
        TableCell cellbumen4 = new TableCell(); cellbumen4.ColumnSpan = 5; cellbumen4.HorizontalAlign = HorizontalAlign.Left; cellbumen4.Text = "制表人:" + adminname;
        TableCell cellbumen5 = new TableCell(); cellbumen5.ColumnSpan = 10; cellbumen5.HorizontalAlign = HorizontalAlign.Left; cellbumen5.Text = "审核人:";

        row2s.Cells.Add(cellbumen);
        row2s.Cells.Add(cellbumen1);
        row2s.Cells.Add(cellbumen2);
        row2s.Cells.Add(cellbumen3);
        row2s.Cells.Add(cellbumen4);
        row2s.Cells.Add(cellbumen5);

        row2s.CssClass = "GridViewHeaderTD";
        table2.Rows.Add((TableRow)row2s);
--------------------编程问答--------------------
多行表头意义不大吧

楼上写的很详细  --------------------编程问答-------------------- GridView多行表,我一般建个模板列,head项一个多行的table,item项一个table,宽度注意点就行 --------------------编程问答-------------------- 没搞过,学习了。 --------------------编程问答-------------------- 多表头导出EXCEL
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,