RowDataBound Im binding.. protected void GrdView_RowDataBound(object sender, GridViewRowEventArgs e) { DataRowView drv = e.Row.DataItem as DataRowView; if (e.Row.RowType == DataControlRowType.DataRow) { if ((e.Row.RowState & DataControlRowState.Edit) > 0) { DropDownList ddlCountry = (DropDownList)e.Row.FindControl("ddlCountry"); DropDownList ddlState = (DropDownList)e.Row.FindControl("ddlState"); DataSet dsGrdValues = BindGridView(); DataSet dsCountrys = BindCountrys(); string SelCountry = drv[4].ToString(); string SelState = drv[5].ToString(); ddlCountry.DataSource = dsCountrys; ddlCountry.DataTextField = "Name"; ddlCountry.DataValueField = "Id"; ddlCountry.DataBind(); for (int i = 0; i < ddlCountry.Items.Count; i++) { if (ddlCountry.Items[i].Text.Trim().CompareTo(SelCountry.Trim())==0) { ddlCountry.SelectedIndex = i; break; } } DataSet dsStates = BindStates(ddlCountry.SelectedValue); ddlState.DataSource = dsStates; ddlState.DataTextField = "Name"; ddlState.DataValueField = "Id"; ddlState.DataBind(); for (int i = 0; i < ddlState.Items.Count; i++) { if (ddlState.Items[i].Text.Trim().CompareTo(SelState.Trim()) == 0) { ddlState.SelectedIndex = i; break; } } } } }
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e) { try { DropDownList Country = (DropDownList)sender; //DropDownList State = Country.Parent as DropDownList; //State = new DropDownList(); GridViewRow row = (GridViewRow)(Country.Parent.Parent); Country.DataTextField = "Name"; string CCode = Country.SelectedItem.Value; DataSet dsGetStates = BindStates(CCode); ddlState1.DataSource = dsGetStates; ddlState1.DataTextField = "Name"; if (dsGetStates.Tables[0].Rows.Count > 0) { //State.DataSource = dsGetStates; //State.DataTextField = "Name"; //State.DataValueField = "Id"; //State.DataBind(); } else { //State.DataSource = null; //State.Items.Clear(); } } catch (Exception ex) { Response.Write(ex.Message); } }
<pre lang="xml"><asp:TemplateField HeaderText="Country"> <ItemTemplate> <asp:Label ID="lblCountry" runat="server" Text='<%#Eval("Country") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="ddlCountry" onselectedindexchanged="ddlCountry_SelectedIndexChanged" runat="server" AutoPostBack="True"></asp:DropDownList> </EditItemTemplate> <FooterTemplate> <asp:DropDownList ID="ddlNewCountry" runat="server"></asp:DropDownList> </FooterTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="State"> <ItemTemplate> <asp:Label ID="lblState" runat="server" Text='<%#Eval("State") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="ddlState" runat="server"></asp:DropDownList> </EditItemTemplate> <FooterTemplate> <asp:DropDownList ID="ddlNewState" runat="server"></asp:DropDownList> </FooterTemplate> </asp:TemplateField>
DropDownList ddlState = (DropDownList)row.FindControl("ddlState"); if (dsGetStates.Tables[0].Rows.Count > 0) { ddlState.DataSource = dsGetStates; ddlState.DataTextField = "Name"; ddlState.DataBind(); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)