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

how can i chang the cell values based on other cell dropdow value ?

2 Answers 78 Views
Grid
This is a migrated thread and some comments may be shown as answers.
koteswararao
Top achievements
Rank 1
koteswararao asked on 18 Jan 2012, 03:10 PM
hi expert,

i am using the telerik rad grid in my projects can you please suggest the proper way for my problem

this is hierarchical grid(3 level) in the second and third level i use the "GridDropDownColumn" columns with my own datasource when i am in editing that row it show  the dorpdown when i change the drop down value in it the other column's values will be changed corresponding with some logic how can it possible and one more this i want to edit the multiple rows all the changes will be saved at final is it possible in this control. my code is  ,please look at the attached image also.

 &nbsp;<telerik:RadGrid ID="dgProduct" runat="server" AutoGenerateColumns="false" AllowAutomaticUpdates="true"
                                        AutoGenerateHierarchy="true" >
                                        <MasterTableView EditMode="InPlace" >
                                            <Columns>
                                                <telerik:GridBoundColumn DataField="PKProductID" HeaderText="PKProductID" Visible="false"><HeaderStyle BackColor="BlanchedAlmond" /></telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="SourceID" HeaderText="Style #" />
                                                <telerik:GridBoundColumn DataField="Language1Title" HeaderText="Title" />
                                                <telerik:GridBoundColumn DataField="Language1SubTitle" HeaderText="Sub Title" />
                                                <telerik:GridDropDownColumn HeaderText="Clearance" UniqueName="StyleClearance" DataSourceID="SourceCheck"
                                                    ListTextField="Text" ListValueField="Text" SortExpression="Text" DataField="ClearanceItem" />
                                                <telerik:GridDropDownColumn HeaderText="Active" UniqueName="StyleActive" DataSourceID="SourceCheck"
                                                    ListTextField="Text" ListValueField="Text" SortExpression="Text" DataField="Active" />
                                                <telerik:GridBoundColumn DataField="Price" HeaderText="Price" />
                                                <telerik:GridBoundColumn DataField="SalePrice" HeaderText="Sale Price" />
                                            </Columns>
                                            <DetailTables>
                                                <telerik:GridTableView DataMember="Colors" HierarchyLoadMode="ServerOnDemand" >
                                                    <Columns>
                                                        <telerik:GridBoundColumn DataField="FKProductid" HeaderText="FKProductid" Visible="false" />
                                                        <telerik:GridBoundColumn DataField="Language1Title" HeaderText="Title" ReadOnly="true" />
                                                         <telerik:GridBoundColumn DataField="PKGroupScaleItemID" HeaderText="Color Id" ReadOnly="true"  />
                                                           <telerik:GridDropDownColumn UniqueName="ColorSourceID" DataSourceID="SourceColors"
                                                            HeaderText="Colors" DataField="SourceID" SortExpression="ScaleLanguage1Name"
                                                            ListTextField="ScaleLanguage1Name" ListValueField="ScaleType" />
                                                        <telerik:GridDropDownColumn HeaderText="Active" UniqueName="ColorActive" DataSourceID="SourceCheck"
                                                            ListTextField="Text" ListValueField="Text" SortExpression="Text" DataField="Active" />
                                                    </Columns>
                                                    <DetailTables>
                                                        <telerik:GridTableView DataMember="Sizes" HierarchyLoadMode="ServerOnDemand"  Width="300px" >
                                                            <Columns>
                                                                <telerik:GridBoundColumn DataField="FKProductid" HeaderText="FKProductid" Visible="false" />
                                                                <telerik:GridBoundColumn DataField="Language1Title" HeaderText="Title" ReadOnly="true"  />
                                                                <telerik:GridBoundColumn DataField="SourceID" HeaderText="Size ID" ReadOnly="true" />
                                                                <telerik:GridDropDownColumn UniqueName="SizeSourceID" DataSourceID="SourceSizes"
                                                                    HeaderText="Sizes" DataField="SourceID" SortExpression="ScaleLanguage1Name" ListTextField="ScaleLanguage1Name"
                                                                    ListValueField="PKGroupScaleItemID" />
                                                                <telerik:GridBoundColumn DataField="BackOrderDays" HeaderText="Back Order Days" />
                                                                <telerik:GridBoundColumn DataField="SKU" HeaderText="SKU" />
                                                                <telerik:GridBoundColumn DataField="QuantityAvailable" HeaderText="Quantity" />
                                                                <telerik:GridDropDownColumn HeaderText="Active" UniqueName="SizeActive" DataSourceID="SourceCheck"
                                                                    ListTextField="Text" ListValueField="Text" SortExpression="Text" DataField="Active" />
                                                            </Columns>
                                                        </telerik:GridTableView>
                                                    </DetailTables>
                                                </telerik:GridTableView>
                                            </DetailTables>
                                            <EditFormSettings>
                                                <EditColumn Reorderable="false" Resizable="false" />
                                            </EditFormSettings>
                                        </MasterTableView>
                                        <ClientSettings>
                                            <ClientEvents OnRowClick="RowClick" OnRowDblClick="RowDblClick" />
                                            <ClientEvents OnColumnMouseOut=" />
                                        </ClientSettings>
                                    </telerik:RadGrid>

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 19 Jan 2012, 05:45 AM
Hello,

You can attach SelectedIndexChanged event and access the cell value as shown below.
C#:
protected void grid_ItemDataBound(object sender, GridItemEventArgs e)
{
 if (e.Item is GridEditableItem && e.Item.IsInEditMode && e.Item.OwnerTableView.Name=="DetailTable")
 {
   GridEditableItem item = (GridEditableItem)e.Item;
   RadComboBox combo = (RadComboBox)item["UniqueName"].Controls[0];
   combo.AutoPostBack = true;
   combo.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(combo_SelectedIndexChanged);
 }
}
void combo_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
  RadComboBox combo = (RadComboBox)sender;
  GridEditableItem item = (GridEditableItem)combo.NamingContainer;
  string val = item.GetDataKeyValue("Id").ToString();
}
Note:Set DataKeyValue as Id.

-Shinu.
0
koteswararao
Top achievements
Rank 1
answered on 19 Jan 2012, 07:26 AM
i am using the vb .net as the coding language if i convert your code to vb it show the error at line
 combo.SelectedIndexChanged += New RadComboBoxSelectedIndexChangedEventHandler(AddressOf combo_SelectedIndexChanged)
to resolve that i replaced it with

 AddHandler combo.SelectedIndexChanged, AddressOf combo_SelectedIndexChanged ,

but the selectedIndexChanged event is not rise at all what can i do .
Tags
Grid
Asked by
koteswararao
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
koteswararao
Top achievements
Rank 1
Share this question
or