网格视图动态生成的列

时间:2016-11-14 06:53:39

标签: asp.net vb.net gridview

我有网格视图,它与数据表动态绑定。

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

尝试以下方法时......首先显示AAddOn ..

如何在最后显示命令字段..

  <asp:GridView ID="AGridView" runat="server" AutoGenerateColumns="true"  style="table-layout:fixed;" Width="2000px"   RowStyle-HorizontalAlign="Left">
            <EmptyDataTemplate>
               &nbsp;
           </EmptyDataTemplate>
            <asp:CommandField ShowEditButton="True" ItemStyle-Width="80px" EditText="Edit Add On">
             <ItemStyle Font-Bold="true" Font-Size="Small" />
              <HeaderStyle CssClass="AAddOn" />
             </asp:CommandField>
      </asp:GridView>

1 个答案:

答案 0 :(得分:1)

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

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());
}