C#:将DataTable绑定到GridView时更改列的顺序

Nir*_*Nir 4 c# asp.net asp.net-3.5

如何从DataTable更改列的显示顺序?

例如,dataTable"dt"包含两列"a"和"b".我将它绑定到GridView,如下所示:

gridView.DataSource = dt;
gridView.DataBind();
Run Code Online (Sandbox Code Playgroud)

但我希望GridView首先显示"b"(最左边).

重要的一点:我正在使用它导出到Excel,并且没有实际输出到屏幕,使用:

 HtmlTextWriter htw = new HtmlTextWriter(sw);
 gridView.RenderControl(htw);
Run Code Online (Sandbox Code Playgroud)

谢谢!

Bri*_*per 5

是的,你可以在前端做到这一点.这些方面的东西:

<asp:GridView runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="b" />
        <asp:BoundField DataField="a" />
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

编辑:

你说没有前端?那很酷 - 我喜欢挑战:

            gridView.AutoGenerateColumns = false;
        gridView.Columns.Add(new BoundField { DataField = "b" });
        gridView.Columns.Add(new BoundField { DataField = "a" });
Run Code Online (Sandbox Code Playgroud)

(现在假设C#3不是很酷吗?)