Dear Friends,
I was struck in between while selecting the ddlCountry under gridview control edit item template the ddlState Should pop up according to country selection it is not happening please fin it out.
My code is below..
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;
}
}
}
}
}
This is my GridView ddlCountry Selected change event where i am not getting the specific states on country changes..
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
DropDownList Country = (DropDownList)sender;
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)
{
}
else
{
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
Here is my Page Design .aspx Code
<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>