繁体   English   中英

如何使用Asp.Net C#更改GridView中的列顺序

[英]How to change the order of columns in GridView using Asp.Net C#

我有一个网格,它被绑定在代码后面,我也想显示模板字段。

我在DataTable中为网格视图生成3列,模板字段是TextBox控件。

我的绑定数据代码是..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;


public partial class gr4 : System.Web.UI.Page
{
    SqlConnection cn;
    SqlCommand cmd;
    SqlDataAdapter da;
    DataSet ds;

protected void Page_Load(object sender, EventArgs e)
{
    cn = new SqlConnection("Data Source=AMIR-PC\\MOHEMMAD;Initial Catalog=CRM_InvestPlus;Integrated Security=True");
    string query = "Select Capacity from Dealer_License_Capacity where ID='D00001' and Software_ID='001' and Version_ID='1'";
    cn.Open();
    cmd = new SqlCommand(query,cn);
    da = new SqlDataAdapter(cmd);
    ds = new DataSet();
    da.Fill(ds);
    cn.Close();

    DataTable dt = new DataTable();
    dt.Columns.Add("Name", typeof(string));
    dt.Columns.Add("Software_Name", typeof(string));
    dt.Columns.Add("Version_Name", typeof(string));

    int count = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());

    for (int i = 0; i < count; i++)
    {
        DataRow dr = dt.NewRow();
        dr["Name"] = "aaa";
        dr["Software_Name"] = "bbb";
        dr["Version_Name"] = "ccc";

        dt.Rows.Add(dr);
    }

    GridView1.DataSource = dt;
    GridView1.DataBind();
   }
}

我的网格视图源代码是:

    <asp:GridView ID="GridView1" runat="server">
    <Columns>

        <asp:TemplateField>
            <ItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
    </asp:GridView>

</div>
</form>

网格显示模板字段作为第一列,但我想将模板字段显示为输出中的最后一列。 我可以在这个网格中添加更多模板字段吗?

请帮忙..

提前致谢

您可以使用如下所示的绑定字段

  <asp:GridView ID="GridView1" runat="server"  AutoGenerateColumns="false" > /*changed to false*/
     <Columns>
       <asp:BoundField HeaderText="Name" 
           DataField="Name"/>
       <asp:BoundField HeaderText="SoftwareName" 
           DataField="Software_Name"/>
       <asp:BoundField HeaderText="VersionName" 
           DataField="Version_Name"/>

       <asp:TemplateField>
           <ItemTemplate>
               <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
           </ItemTemplate>
       </asp:TemplateField>
    </Columns>
</asp:GridView>

您可以根据需要更改订单。

如果所有准备好的数据都存在于数据库中并且列在网格视图列名称中的名称是相同的那么名称必须显示名称是命令我怎么没有得到

我的网格代码是这个,但不是明智的顺序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM