4

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

我在 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>

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

请帮忙..

提前致谢

4

2 回答 2

3

您可以使用如下绑定字段

  <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>

您可以随意更改顺序。

于 2013-02-11T06:29:39.070 回答
-2

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

我的网格代码是这个但不是按顺序来的

于 2013-04-05T10:44:19.440 回答