This is a migrated thread and some comments may be shown as answers.

Dependent ComboBoxes

1 Answer 114 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mario
Top achievements
Rank 1
Mario asked on 05 Apr 2012, 09:08 PM
Hello,
i have two ComboBoxes in my EditItemTemplate. The comboboxes are to be interdependent. The key to the first combobox should be the selection criterion for the second combobox.
<telerik:RadGrid ID="RadGrid1" runat="server" CellSpacing="0" Culture="de-DE"
DataSourceID="SqlDataSource1" GridLines="None">
 
 
<MasterTableView autogeneratecolumns="False" datasourceid="SqlDataSource1" CommandItemDisplay="TopAndBottom">
 
 
<Columns>
<telerik:GridBoundColumn DataField="LayoutID" DataType="System.Int64"
FilterControlAltText="Filter LayoutID column" HeaderText="LayoutID"
SortExpression="LayoutID" UniqueName="LayoutID">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="LayoutTypeID" DataType="System.Int32"
FilterControlAltText="Filter LayoutTypeID column" HeaderText="LayoutTypeID"
SortExpression="LayoutTypeID" UniqueName="LayoutTypeID">
<EditItemTemplate>
<telerik:RadComboBox ID="RadComboBox1" Runat="server" Culture="de-DE"
    DataSourceID="SqlDataSourceTypes" DataTextField="TypeName"
    DataValueField="TypeID"  >
</telerik:RadComboBox>
 
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LayoutTypeIDLabel" runat="server"
    Text='<%# Eval("LayoutTypeID") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="PlayerID" DataType="System.Int64"
FilterControlAltText="Filter PlayerID column" HeaderText="PlayerID"
SortExpression="PlayerID" UniqueName="PlayerID">
<EditItemTemplate>
<telerik:RadComboBox ID="RadComboBox2" Runat="server" Culture="de-DE"
    DataSourceID="SqlDataSourceLayout" DataTextField="LayoutName"
    DataValueField="LayoutID">
</telerik:RadComboBox>
 
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="PlayerIDLabel" runat="server" Text='<%# Eval("PlayerID") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
 
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
 
<FilterMenu EnableImageSprites="False"></FilterMenu>
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:uebung1DBConnectionString1 %>"
 
SelectCommand="SELECT LayoutID, LayoutTypeID, PlayerID FROM cms_player_layout WHERE (PlayerID = @playerID)"
InsertCommand="INSERT INTO cms_player_layout(PlayerID, LayoutID, LayoutTypeID) VALUES (@playerID, @layoutID, @layoutTypeID)">
<InsertParameters>
<asp:Parameter Name="playerID" />
<asp:Parameter Name="layoutID" />
<asp:Parameter Name="layoutTypeID" />
</InsertParameters>
<SelectParameters>
<asp:Parameter Name="playerID" DefaultValue="1" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSourceTypes" runat="server"
    ConnectionString="<%$ ConnectionStrings:uebung1DBConnectionString1 %>"
    SelectCommand="SELECT TypeID, TypeName, TypeText, TypeObjectTypes, TypeMenu, TypePriority, ProjectID FROM cms_layouttypes ORDER BY TypeName">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSourceLayout" runat="server"
    ConnectionString="<%$ ConnectionStrings:uebung1DBConnectionString1 %>"
    SelectCommand="SELECT LayoutID, ParentID, LayoutName, LayoutArt, LayoutBgColor, LayoutBgImage, LayoutSize, LayoutWidth, LayoutHeight, LayoutType FROM cms_layouts WHERE (LayoutType = @layoutType)">
    <SelectParameters>
        <asp:Parameter DefaultValue="0" Name="layoutType" />
    </SelectParameters>
</asp:SqlDataSource>

How can I do that?

Best regards
Reiner


1 Answer, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 06 Apr 2012, 07:07 AM
Hello Mario,

<telerik:RadComboBox ID="RadComboBox1" runat="server" Culture="de-DE" DataSourceID="SqlDataSourceTypes"
          DataTextField="TypeName" DataValueField="TypeID"
          onselectedindexchanged="RadComboBox1_SelectedIndexChanged" AutoPostBack="true">
      </telerik:RadComboBox>

protected void RadComboBox1_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
   {
       RadComboBox RadComboBox1 = sender as RadComboBox;
       GridEditableItem item = RadComboBox1.NamingContainer as GridEditableItem;
       // access your first combo here
 
       RadComboBox RadComboBox2 = item.FindControl("RadComboBox2") as RadComboBox;
       // bind your second combo here
   }



Thanks,
Jayesh Goyani
Tags
Grid
Asked by
Mario
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Share this question
or