如何在asp.net gridview中添加新列,其中列是自动生成的?

时间:2009-06-26 20:05:44

标签: asp.net gridview

如何将新的超链接列添加到自动生成列的asp.net gridview中?列未在网格视图中预定义。

2 个答案:

答案 0 :(得分:4)

只需将列定义添加到gridview的部分即可。您自动生成的列应显示在此列的左侧。

<asp:gridview AutoGenerateColumns="true" ... >
    <columns>
        <asp:hyperlink ... />
    </columns>
</asp:gridview>

答案 1 :(得分:2)

我发现自动生成的列显示为右侧。如果您希望它们位于左侧,则必须向RowCreated事件添加代码,该事件删除并重新添加所有列,如下所示:

  protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
  {
        GridViewRow row = e.Row;
        List<TableCell> columns = new List<TableCell>();

        foreach (DataControlField column in GridView1.Columns)
        {
            TableCell cell = row.Cells[0];
            row.Cells.Remove(cell);
            columns.Add(cell);
        }

        row.Cells.AddRange(columns.ToArray());
    }

在此处找到文章:http://geekswithblogs.net/dotNETvinz/archive/2009/06/03/move--autogenerate-columns-at-leftmost-part-of-the-gridview.aspx