I have a user control that contains a radio list that on SelectIndexChanged it updates a drop down.
I put together a basic page and add the user control to the page it works fine but when I move the control to inside a radgrid it doesn't work, it will post back but never call the SelectIndexChanged event.
Working code
working.aspx
<
TT:ToolTipControl
ID
=
"ToolTipEdit"
runat
=
"server"
/>
working.aspx.cs
protected
void
Page_Load(
object
sender, EventArgs e)
{
ToolTipEdit.getEditToolTip(
"POL_TERM_CD"
,
"DataPolTermDropDownlistEdit"
);
}
User Control
userControl.ascx.cs
public
void
getEditToolTip(
string
fieldName,
string
ddlName)
{
DataPolTermRadioListBox ccPolTermRadioListBox =
new
DataPolTermRadioListBox();
//custom radio list
ccPolTermRadioListBox.ID =
"PolTermRadioListBox"
;
ccPolTermRadioListBox.AutoPostBack =
true
;
ccPolTermRadioListBox.SelectedIndexChanged +=
new
System.EventHandler(updateParent);
ToolTip.Controls.Add(ccPolTermRadioListBox);
}
Broken Code
brokenPage.aspx
<
telerik:RadGrid
ID
=
"rgState"
Skin
=
"WebBlue"
runat
=
"server"
OnNeedDataSource
=
"rgState_NeedDataSource"
AutoGenerateColumns
=
"False"
OnPreRender
=
"rgState_PreRender"
>
<
MasterTableView
DataKeyNames
=
"wrtnStPolId"
AllowAutomaticUpdates
=
"false"
AllowAutomaticDeletes
=
"true"
AllowAutomaticInserts
=
"false"
CommandItemDisplay
=
"Top"
AllowMultiColumnSorting
=
"True"
EditMode
=
"InPlace"
GroupLoadMode
=
"Server"
Caption
=
"State(s) and Exposure(s)"
>
<
Columns
>
<
telerik:GridTemplateColumn
AllowFiltering
=
"false"
HeaderText
=
"Pol Type Nstd"
SortExpression
=
"nonStdPolTypeCd"
UniqueName
=
"nonStdPolTypeCd"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblNonStdPolTypeCd"
runat
=
"server"
align
=
"center"
Text='<%#DataBinder.Eval(Container.DataItem, "nonStdPolTypeCd")%>' />
</
ItemTemplate
>
<
EditItemTemplate
>
<
cc1:DataNonStdTypeCdDropDownList
ID
=
"ddlNonStdTypeCd"
runat
=
"server"
ClientIDMode
=
"Predictable"
>
</
cc1:DataNonStdTypeCdDropDownList
>
<
TT:ToolTipControl
ID
=
"ttcNonStdPolTypeCdEdit"
runat
=
"server"
/>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
brokenPage.aspx.cs
protected
void
rgState_PreRender(
object
sender, EventArgs e)
{
RadGrid rgExpMod = (RadGrid)sender;
foreach
(GridDataItem row
in
rgExpMod.Items)
{
GridDataItem gdiItem = (GridDataItem)row;
if
(row.FindControl(
"ttcNonStdPolTypeCdEdit"
) !=
null
)
{
DropDownList ddl = (DropDownList)row.FindControl(
"ddlNonStdTypeCd"
);
ddl.ID += row.RowIndex;
ddl.SelectedIndex = 2;
NCCI.PDC.Web.Controls.ucToolTip ttcNonStdPolTypeCdEdit = (NCCI.PDC.Web.Controls.ucToolTip)row.FindControl(
"ttcNonStdPolTypeCdEdit"
);
ttcNonStdPolTypeCdEdit.getEditToolTip(
"non_std_pol_type_cd"
, ddl.ID);
}
}
}