Gridview - 循环遍历多个标题行

时间:2014-03-21 12:40:27

标签: c# asp.net gridview

在控制台应用程序中,动态创建gridview。

        GridView gv = new GridView();
        gv.AutoGenerateColumns = false;
        for (int i = 0; i < dt.Columns.Count; i++)
        {
            BoundField boundfield = new BoundField();
            boundfield.DataField = dt.Columns[i].ColumnName.ToString();
            boundfield.HeaderText = arr[i].ToString();// dt.Columns[i].ColumnName.ToString();
            gv.Columns.Add(boundfield);
        }

然后,再添加两个标题行。这是一行的一部分:

        GridViewRow HeaderGridRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
        TableCell HeaderCell = new TableCell();

        HeaderCell.Text = "";
        HeaderCell.ColumnSpan = 4;
        HeaderGridRow.Cells.Add(HeaderCell);

        //more header cells added then another row here

        gv.DataSource = dt;
        gv.DataBind();

        gv.Controls[0].Controls.AddAt(0, HeaderGridRow);

使用foreach循环,调整不在标题中的单独单元格边框:

        foreach (GridViewRow row in gv.Rows)
        {               
            TableCell tCell = row.Cells[0];
            tCell.Attributes["style"] = "border-right:0";               
        }

我一直试图找到一种方法来遍历标题行并调整单元格上的一些边框。

尝试使用foreach (GridViewRow row in gv.HeaderRow),但gv.HeaderRow没有GetEnumerator的公开定义。

尝试for(int i = 0; i < gv.HeaderRow.Cells.Count; i++),但这似乎也不起作用。

有人有任何建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个

GridViewRow headerRow = gv.HeaderRow;            
TableCell hCell = headerRow.Cells[0];
hCell.Attributes["style"] = "border-right:0";               

希望有所帮助