我有两个GridTemplateColumn,每个都包含一个RadCombobox。当左边的combobox OnSelectedIndexChanged事件触发时,我需要根据左边的新值重新填充右边的combobox。我似乎不能以任何方式从事件FindControl。
<telerik:GridTemplateColumn HeaderText="CAKE Verticals" ItemStyle-Width="100px">
<ItemTemplate>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="RadComboBox_CakeVerticals" EnableLoadOnDemand="True"
OnItemsRequested="RadComboBox_CakeVerticals_ItemsRequested" AutoPostBack="true"
HighlightTemplatedItems="true" Height="140px" Width="220px" DropDownWidth="420px"
OnSelectedIndexChanged="RadComboBox_CakeVerticals_OnSelectedIndexChangedHandler">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="CakeColumns" HeaderText="CakeColumns" ItemStyle-Width="100px">
<ItemTemplate>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="RadComboBox_CakeColumns" EnableLoadOnDemand="True"
OnItemsRequested="RadComboBox_CakeColumns_ItemsRequested" AutoPostBack="true"
HighlightTemplatedItems="true" Height="140px" Width="220px" DropDownWidth="420px"
OnSelectedIndexChanged="RadComboBox_CakeColumns_OnSelectedIndexChangedHandler">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>在CS中
protected void RadComboBox_CakeVerticals_OnSelectedIndexChangedHandler(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
RadComboBox combobox = (RadComboBox)RadGrid_Columns.FindControl("RadComboBox_CakeColumns");
Session["verticalID"] = e.Value;
RCB_CAKE_Columns_Populate(e.Value, combobox);
}问题是combobox总是空的。
发布于 2013-03-01 01:38:15
我这样解决了这个问题
RadComboBox RCB_Verticals = sender as RadComboBox;
GridDataItem item = (GridDataItem)RCB_Verticals.NamingContainer;
RadComboBox combobox = (RadComboBox)item.FindControl("RadComboBox_CakeColumns");这只是一个遵循NamingContainer层次结构的问题,直到行级。
https://stackoverflow.com/questions/15119371
复制相似问题