动态地在每行之后重复标题行

时间:2011-02-28 10:05:42

标签: c# asp.net

如何在gridview的每一行之后重复标题行?

4 个答案:

答案 0 :(得分:2)

您可以将代码添加到网格的rowdatabound-event:

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        GridViewRow row = new GridViewRow(e.Row.RowIndex, 0, DataControlRowType.Header, DataControlRowState.Normal);

        TableCell cell = new TableCell();
        cell.Controls.Add(new Label { Text = "Header" }); //as needed

        row.Cells.Add(cell);

        Table tbl = (e.Row.Parent as Table);

        tbl.Controls.AddAt(e.Row.RowIndex * 2 + 1, row);            
    }
}

在这个例子中,当你在后面编写自己的代码时,我已经完全删除了gridview标题。

答案 1 :(得分:1)

你不能不重写控制渲染方法。如何使用转发器并将其放入项目分隔符元素中呢?

答案 2 :(得分:0)

嗯,将标题的标记也放在项目模板中会更容易。为这样的事情重写Render方法可能有点过头了。

但是如果有理由这样做,那么至少你的问题就会遗漏。

答案 3 :(得分:0)

如果您需要每个项目行中的标题行标记,为什么不只是将标题中当前包含的标记包含在ItemTemplate中??