You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET中GridView绑定列与文本框列的顺序调换方法问询

ASP.NET GridView列顺序调换解决方案

答案是肯定的:完全可以调换这两列的显示顺序。ASP.NET GridView的列展示顺序完全由<Columns>节点内的字段定义顺序决定——先声明的列会显示在左侧,后声明的在右侧。

修改后的完整代码

只需要将包含TextBox的TemplateField放在绑定数据的BoundField前面即可,同时修正DataField的大小写匹配问题(后台DataTable列名为col1,需与前台一致):

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2">
    <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
    <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
    <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
    <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
    <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
    <SortedAscendingCellStyle BackColor="#FFF1D4" />
    <SortedAscendingHeaderStyle BackColor="#B95C30" />
    <SortedDescendingCellStyle BackColor="#F1E5CE" />
    <SortedDescendingHeaderStyle BackColor="#93451F" />
    <Columns>
        <%-- TextBox列:显示在第一列 --%>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <%-- 绑定数据列:显示在第二列 --%>
        <asp:BoundField DataField="col1" HeaderText="MyColumn" />
    </Columns>
</asp:GridView>

关键说明

  1. 后台rGrdV方法无需修改,保持原有逻辑生成DataTable即可。
  2. 务必添加AutoGenerateColumns="False",防止GridView自动生成额外列打乱自定义的列顺序。
  3. DataField的值必须与后台DataTable的列名完全匹配(包括大小写),否则会出现数据绑定失败的情况。

内容的提问来源于stack exchange,提问作者Raghav Rawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:15:44