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

[Solved] related combo in radgrid

3 Answers 122 Views
Grid
This is a migrated thread and some comments may be shown as answers.
L
Top achievements
Rank 1
L asked on 06 Nov 2009, 04:03 AM
hi

How do i do a related combobox in grid? Both combos have datasource id namely: sdsInventory and sdsSupplier.

When I select a code from the first combo, it will populate the suppliers in the second combo based on the code selected.

How should i go about it? Thanks



 <telerik:GridTemplateColumn DataField="Code" HeaderText="Code"
            SortExpression="Code" UniqueName="Code">
            <EditItemTemplate>
                <telerik:RadComboBox ID="drps"  DataSourceID="sdsInventory" DataTextField="Name" DataValueField="Code" selectedValue='<%# Bind("Code") %>' runat="server" Width="300px" Filter="StartsWith" AutoCompleteSeparator=";" MarkFirstMatch="True">
                </telerik:RadComboBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="CodeLabel" runat="server" Text='<%# Eval("Code") %>'></asp:Label>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="Supplier_ID" HeaderText="Supplier Name"
            SortExpression="Supplier_ID" UniqueName="Supplier_ID">
            <EditItemTemplate>
                <telerik:RadComboBox ID="drpSupplier" DataSourceID="sdsSupplier" DataTextField="Supplier_Name" DataValueField="Supplier_ID" selectedvalue='<%# Bind("Supplier_ID") %>' runat="server" Width="300px">
                </telerik:RadComboBox>
             </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Supplier_IDLabel" runat="server"
                    Text='<%# Eval("Supplier_Name") %>'></asp:Label>
            </ItemTemplate>
        </telerik:GridTemplateColumn>

3 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 06 Nov 2009, 05:25 AM
Hi,

You can set the datasource of the second combobox based on the selection in the first combobox in the SelectedIndexChanged event of the grid:
c#:
protected void drps_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)  
    { 
        RadComboBox drps = (RadComboBox)o; 
        if (drps.SelectedItem.Text == "Text4"
        { 
            GridEditableItem editedItem = drps.NamingContainer as GridEditableItem; 
            RadComboBox drpSupplier = editedItem.FindControl("drpSupplier"as RadComboBox; 
            // change the data source for drpSupplier with custom code here  
              .....     
        } 
    }  

Thanks
Princy.
0
L
Top achievements
Rank 1
answered on 06 Nov 2009, 06:59 AM
hi

Sorry if i asked too much.

How do I changed the datasource here? Any Sample code? Thanks

 // change the data source for drpSupplier with custom code here 
0
Princy
Top achievements
Rank 2
answered on 06 Nov 2009, 08:57 AM
Hello,

Here's how you can set the DataSource for the second combo:
c#:
protected void drps_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)   
    {  
        RadComboBox drps = (RadComboBox)o;  
        if (drps.SelectedItem.Text == "Text4")  
        {  
            GridEditableItem editedItem = drps.NamingContainer as GridEditableItem;  
            RadComboBox drpSupplier = editedItem.FindControl("drpSupplier"as RadComboBox;  
            drpSupplier.DataSourceID = "sdsSupplier"
            drpSupplier.DataTextField = "Supplier_Name";  
            drpSupplier.DataValueField = "Supplier_ID";    
            drpSupplier.DataBind(); 
        }  
    }   
 

Regards,
Princy.
Tags
Grid
Asked by
L
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
L
Top achievements
Rank 1
Share this question
or