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

[Solved] Retrieving EditedItems value on Drop Down List column

1 Answer 130 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Drew Auman
Top achievements
Rank 1
Drew Auman asked on 24 Sep 2009, 01:51 PM
Here is my form:

            <telerik:RadGrid ID="PhoneGrid" runat="server" GridLines="None" OnUpdateCommand="PhoneGrid_OnUpdateCommand" OnDeleteCommand="PhoneGrid_OnDeleteCommand" 
                    DataSourceID="PhoneList" Skin="Office2007" Width="400">  
            <MasterTableView TableLayout="Auto" DataKeyNames="PhoneID" AutoGenerateColumns="False" DataSourceID="PhoneList" EditMode="InPlace">  
                <Columns> 
                  
                    <telerik:GridBoundColumn ColumnEditorID="PhoneNumberEditor" HeaderStyle-Width="100" ItemStyle-Width="100" DataField="PhoneNumber" HeaderText="Phone Number"  UniqueName="PhoneNumber">  
                          
                    </telerik:GridBoundColumn> 
                      
                    <telerik:GridDropDownColumn HeaderStyle-Width="50" ItemStyle-Width="50" ColumnEditorID="PhoneTypeNameEditor" UniqueName="ddlPhoneTypeID" ListTextField="PhoneTypeName"   
                    ListValueField="PhoneTypeID" DataSourceID="PhoneTypeList" HeaderText="" DataField="PhoneTypeID">  
 
                    </telerik:GridDropDownColumn> 
                      
                    <telerik:GridCheckBoxColumn HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="35" ItemStyle-Width="35" DataField="isPreferred" HeaderText="Preferred" UniqueName="isPreferred">  
 
                    </telerik:GridCheckBoxColumn> 
 
                    <telerik:GridEditCommandColumn ButtonType="ImageButton" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25">  
                      
                    </telerik:GridEditCommandColumn> 
                
                    <telerik:GridClientDeleteColumn ConfirmText="Are you sure you want to delete?" ButtonType="ImageButton" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25">  
                      
                    </telerik:GridClientDeleteColumn> 
                      
                </Columns> 
 
            </MasterTableView> 
            </telerik:RadGrid> 
 
            <telerik:GridTextBoxColumnEditor ID="PhoneNumberEditor" runat="server">  
                <TextBoxStyle Width="90" /> 
            </telerik:GridTextBoxColumnEditor> 
            <telerik:GridDropDownListColumnEditor ID="PhoneTypeNameEditor" runat="server">  
                <DropDownStyle Width="65" /> 
            </telerik:GridDropDownListColumnEditor> 
 
            <asp:ObjectDataSource ID="PhoneList" runat="server" SelectMethod="psPhoneList" TypeName="Recruit.Data.PeopleDAL.PeopleMainDAL">  
                <SelectParameters> 
                    <asp:QueryStringParameter DefaultValue="0" Name="PeopleID" QueryStringField="pid" Type="Int64" /> 
                </SelectParameters> 
            </asp:ObjectDataSource> 
 
            <asp:ObjectDataSource ID="PhoneTypeList" runat="server" SelectMethod="psPhoneTypeList" TypeName="Recruit.Data.PeopleDAL.PeopleMainDAL">  
            </asp:ObjectDataSource> 

Here is my code:

 
        protected void PhoneGrid_OnUpdateCommand(object source, GridCommandEventArgs e)  
        {  
 
            GridEditableItem editedItem = e.Item as GridEditableItem;  
 
            //Get the primary key value using the DataKeyValue.       
            if (editedItem != null)  
            {  
                var P = new Phone();  
                P.PhoneID = (Int64)editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["PhoneID"];  
                //Access the textbox from the edit form template and store the values in string variables.       
                P.PhoneNumber = (editedItem["PhoneNumber"].Controls[0] as TextBox).Text;  
 
                // ATTEMPT TWO - I get Unable to cast object of type 'Telerik.Web.UI.RadComboBox' to type 'System.Web.UI.WebControls.DropDownList'.  
                DropDownList ddl = (DropDownList)editedItem["ddlPhoneTypeID"].Controls[0];  
                string selectedVal = ddl.SelectedValue;  
                P.PhoneTypeID = Convert.ToInt32(selectedVal);  
                  
                // ATTEMPT One - I get NULL here  
                //P.PhoneTypeID = Convert.ToInt32((editedItem["PhoneTypeID"].Controls[0] as DropDownList).SelectedValue);  
                P.isPreferred = (editedItem["isPreferred"].Controls[0] as CheckBox).Checked;  
 
                PeopleMainDAL.puPhoneList(P);  
            }  
 
        }  
 


I am trying to get the value from the drop down list upon edit and I am either getting a null exception or the second attempt I was getting a casting error.  Help!

1 Answer, 1 is accepted

Sort by
0
Drew Auman
Top achievements
Rank 1
answered on 24 Sep 2009, 03:06 PM
Well changing it from a 'Telerik.Web.UI.RadComboBox' to type 'System.Web.UI.WebControls.DropDownList' worked, however that is not how the sample is setup.  None the less, a RadComboBox works .... hmm
Tags
Grid
Asked by
Drew Auman
Top achievements
Rank 1
Answers by
Drew Auman
Top achievements
Rank 1
Share this question
or