0

それぞれにRadComboboxを含む2つのGridTemplateColumnがあります。左側のコンボボックスOnSelectedIndexChangedイベントが発生した場合、左側の新しい値に従って右側のコンボボックスを再設定する必要があります。私はイベントからなんらかの方法で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);

}

問題は、コンボボックスが常にnullであるということです。

4

1 に答える 1

0

私はこのような問題を解決しました

    RadComboBox RCB_Verticals = sender as RadComboBox;

    GridDataItem item = (GridDataItem)RCB_Verticals.NamingContainer;

    RadComboBox combobox = (RadComboBox)item.FindControl("RadComboBox_CakeColumns");

NamingContainer の階層を行レベルまでたどるだけでした。

于 2013-02-28T17:38:14.880 に答える