1

我对asp.net.Plz 很陌生,请帮助我。

我有一个网格视图,其中包含名为属性(模板字段)和值(模板字段)的两列。我需要从数据库表“属性”中绑定属性列(即gridview-项目模板(标签))。属性表字段是ID 和PropertyName。我怎样才能绑定它们?

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindView();


            }

                DataTable dt1 = new DataTable();
                SqlDataAdapter da1 = new SqlDataAdapter("select ID,TypeName from ProductTypes", con);
                da1.Fill(dt1);
                DropDownList1.DataSource = dt1;
                DropDownList1.DataValueField = "ID";
                DropDownList1.DataTextField = "TypeName";
                DropDownList1.DataBind();
            }

        public void BindView()
        {

            DataTable dt = new DataTable();
            string sql = "select * from Properties";
            con.Open();
            SqlDataAdapter da = new SqlDataAdapter(sql, con);
            da.Fill(dt);
            GridView1.DataSource = dt;
            GridView1.DataBind();
            con.Close();
        }

asp代码:

 asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" 
    CellPadding="3" GridLines="Horizontal" 
    style="z-index: 1; left: 52px; top: 230px; position: absolute; height: 133px; width: 344px">
    <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
    <Columns>
        <asp:TemplateField></asp:TemplateField>
        <asp:TemplateField HeaderText="Property">
            <ItemTemplate>
                <asp:Label ID="Label3" runat="server" Text='<%# Eval("PropertyName") %>' ></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Value">
            <ItemTemplate>
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
    <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
    <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
    <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
    <AlternatingRowStyle BackColor="#F7F7F7" />
</asp:GridView>
4

2 回答 2

0

aspx 页面:

<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
        <Columns>
            <asp:TemplateField HeaderText="ID">
                <ItemTemplate>
                    <asp:Label ID="lblID" Text='<%#Bind("ID") %>' runat="server"></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Property Name">
                <ItemTemplate>
                    <asp:Label ID="lblPropertyName" Text='<%#Bind("PropertyName") %>' runat="server"></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

dt - 表列名称应为“ID”和“PropertyName”。

于 2013-05-21T06:14:03.147 回答
0

我不认为你的代码有任何问题

     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" 
        CellPadding="3" GridLines="Horizontal" 
        style="z-index: 1; left: 52px; top: 230px; position: absolute; height: 133px; width: 344px">
        <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
        <Columns>
            <asp:TemplateField></asp:TemplateField>
            <asp:TemplateField HeaderText="Property">
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Eval("PropertyName") %>' ></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Value">
                <ItemTemplate>
                    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("id") %>' ></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
        <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
        <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
        <AlternatingRowStyle BackColor="#F7F7F7" />
    </asp:GridView>

ASPX CODE 是完美的,只需为文本框添加 Text='<%# Eval("id") %>'

ASPX.CS 代码也没有问题我什么都没改变,它的工作 f9

     protected void Page_Load(object sender, EventArgs e)
            {

                if (!IsPostBack)
                {
                    BindView();


                }

                //DataTable dt1 = new DataTable();
                //SqlDataAdapter da1 = new SqlDataAdapter("select ID,TypeName from ProductTypes", con);
                //da1.Fill(dt1);
                //DropDownList1.DataSource = dt1;
                //DropDownList1.DataValueField = "ID";
                //DropDownList1.DataTextField = "TypeName";
                //DropDownList1.DataBind();

            }
            public void BindView()
            {

                DataTable dt = new DataTable();
                string sql = "select * from Properties";
                //con.Open();
                //SqlDataAdapter da = new SqlDataAdapter(sql, con);

                dt.Columns.Add("ID",typeof(int));
                dt.Columns.Add("PROPERTYNAME",typeof(string));

                dt.Rows.Add(25, "propety1");
                dt.Rows.Add(50, "property2");
                dt.Rows.Add(10, "propety3");

               // da.Fill(dt);
                GridView1.DataSource = dt;
                GridView1.DataBind();
                //con.Close();
            }
        }

发送你的完美错误你得到了什么,任何异常或警告

于 2013-05-21T06:41:13.583 回答