Search code examples
c#asp.netdrop-down-menuaspxgridview

how to use drop down list in gridview using asp.net c#


i have one column in grid view named Town. and based on town list i want to add Area Dropdownlist

area dropdown list must show all the areas list that contains town table....

for example vijayawada town contains gannavaram and autonagar as areas

and kollur town contains tenali and bajipet as areas list

please help me i am not getting any idea.

i used the code for grid view is as follows

<asp:BoundField HeaderText="Town" DataField="town"></asp:BoundField>
		<asp:TemplateField HeaderText = "Area">
            <ItemTemplate>
<asp:Label ID="lblCountry" runat="server" Text='<%# Eval("area") %>' Visible = "false" />
                <asp:DropDownList ID="ddlCountries" runat="server">
                </asp:DropDownList>
            </ItemTemplate>
        </asp:TemplateField>

i want to display based on town data field regarding areas list have to display in Area's dropdown list

thank you....


Solution

  • HTML markup

    > <asp:GridView ID="GridView1" runat="server"
    > AutoGenerateColumns="false" OnRowDataBound="OnRowDataBound">
    >     <Columns>
    >         <asp:BoundField HeaderText="Name" DataField="ContactName" />
    >         <asp:TemplateField HeaderText = "Country">
    >             <ItemTemplate>
    >                 <asp:Label ID="lblCountry" runat="server" Text='<%# Eval("area") %>' Visible = "false" />
    >                 <asp:DropDownList ID="ddlCountries" runat="server">
    >                 </asp:DropDownList>
    >             </ItemTemplate>
    >         </asp:TemplateField>
    >     </Columns> </asp:GridView>
    

    Like this you can populate data into your grid view

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GridView1.DataSource = GetData("SELECT area FROM tablename");
            GridView1.DataBind();
        }
    }
    

    to get data

    private DataSet GetData(string query)
    {
        string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
        SqlCommand cmd = new SqlCommand(query);
        using (SqlConnection con = new SqlConnection(conString))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (DataSet ds = new DataSet())
                {
                    sda.Fill(ds);
                    return ds;
                }
            }
        }
    }