关于asp.net:网格视图动态生成的列

Grid View Dynamically Generated Column

我有Grid View,它与数据表动态绑定。

我必须在最后一列中添加命令字段AAddOn

当尝试如下方法时。.AAddOn首先显示。.

我们如何在最后显示命令字段。

1
2
3
4
5
6
7
8
            <EmptyDataTemplate>
               
           </EmptyDataTemplate>
           
             <ItemStyle Font-Bold="true" Font-Size="Small" />
              <HeaderStyle CssClass="AAddOn" />
             </asp:CommandField>
      </asp:GridView>

对于gridview,始终首先渲染定义的列,然后在其右侧渲染自动生成的列。要将自动生成的列移到左侧,您需要RowCreated事件。在那里,您可以根据需要操纵列的顺序。您可以使用以下代码。

1
2
3
4
5
6
7
8
9
10
11
protected void AGridView_RowCreated(object sender, GridViewRowEventArgs e){
        List<TableCell> cellColumns = new List<TableCell>();
        foreach (DataControlField column in GridView1.Columns)
        {
            TableCell cell = e.Row.Cells[0];
            e.Row.Cells.Remove(cell);
            cellColumns.Add(cell);
        }

        e.Row.Cells.AddRange(cellColumns .ToArray());
}