How to bind values from database to gridview

asp.net

I am very new to asp.net.Plz help me.

I have a gridview with two columns named-property(template field) and value(template field). I need to bind the property column(ie,gridview- item template(label)) from database table 'properties'.Properties table fields are ID and PropertyName. How can I bind them??

 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();
        }

aspx code:

 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>

Best Answer

aspx page :

<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 - table column name should be "ID" & "PropertyName".