i have two rad dropdownlists. onselectindex of first dropdown...the second one is getting filled. but the issue over here is:
second one is not getting filled properly and in edit mode the already present value of the second dropdown is not shown.
Please help...
second one is not getting filled properly and in edit mode the already present value of the second dropdown is not shown.
Please help...
<%-- category--%>
<
telerik:GridTemplateColumn
DataField
=
"category"
HeaderText
=
"Category"
SortExpression
=
"category"
UniqueName
=
"category"
>
<
EditItemTemplate
>
<
telerik:RadDropDownList
runat
=
"server"
ID
=
"RadDropDownList3"
DataTextField
=
"category"
AutoPostBack
=
"true"
DataValueField
=
"category"
DefaultMessage
=
"Select Category"
SelectedValue='<%#Bind("category") %>'
OnSelectedIndexChanged="category_SelectedIndexChanged">
<
Items
>
<
telerik:DropDownListItem
Text
=
"India"
Value
=
'India'
/>
<
telerik:DropDownListItem
Text
=
"International"
Value
=
'International'
/>
</
Items
>
</
telerik:RadDropDownList
>
<%-- <
telerik:RadDropDownList
ID
=
"RadDropDownList6"
runat
=
"server"
>
</
telerik:RadDropDownList
>--%>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblcategory"
runat
=
"server"
Text='<%# Bind("category")%>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<%-- sub category--%>
<
telerik:GridTemplateColumn
DataField
=
"sub_category"
HeaderText
=
"Sub Category"
SortExpression
=
"sub_category"
UniqueName
=
"sub_category"
>
<
EditItemTemplate
>
<
telerik:RadDropDownList
runat
=
"server"
ID
=
"RadDropDownList5"
DataTextField
=
"sub_category"
SelectedValue='<%#Bind("sub_category") %>'
AutoPostBack="true" DataValueField="sub_category" DefaultMessage="Select Sub Category" RenderMode="Classic">
</
telerik:RadDropDownList
>
<
asp:HiddenField
ID
=
"hddlsubcategory"
runat
=
"server"
Value='<%# Bind("sub_category") %>' />
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"Label5"
runat
=
"server"
Text='<%# Bind("sub_category")%>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
and the code behind for this is:
protected void category_SelectedIndexChanged(object sender, DropDownListEventArgs e)
{
RadDropDownList RadDropDownList3 = sender as RadDropDownList;
GridEditFormItem item = RadDropDownList3.NamingContainer as GridEditFormItem;
//Use GridDataItem when dropdown is in item template
//GridDataItem item = RadDropDownList3.NamingContainer as GridDataItem;
RadDropDownList ddlsubcategory = item.FindControl("RadDropDownList5") as RadDropDownList;
if (RadDropDownList3.SelectedValue == "India")
{
//FillCat1();
ddlsubcategory.ClearSelection();
ddlsubcategory.Items.Add(new DropDownListItem("North", "North"));
ddlsubcategory.Items.Add(new DropDownListItem("East", "East"));
ddlsubcategory.Items.Add(new DropDownListItem("West", "West"));
ddlsubcategory.Items.Add(new DropDownListItem("South", "South"));
}
else if (RadDropDownList3.SelectedValue == "International")
{
ddlsubcategory.ClearSelection();
ddlsubcategory.Items.Add(new DropDownListItem("Asia", "Asia"));
ddlsubcategory.Items.Add(new DropDownListItem("Africa", "Africa"));
ddlsubcategory.Items.Add(new DropDownListItem("Australia", "Australia"));
ddlsubcategory.Items.Add(new DropDownListItem("America", "America"));
}
}
protected void gvDetails_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
{
GridEditFormItem item = (GridEditFormItem)e.Item;
//string value = item.GetDataKeyValue("ID").ToString();
RadDropDownList sub_category = item.FindControl("RadDropDownList5") as RadDropDownList;
HiddenField hsubcategory = item.FindControl("hddlsubcategory") as HiddenField;
if (sub_category != null && hsubcategory != null)
{
sub_category.SelectedValue = hsubcategory.Value;
}
}
}