Here is my form:
Here is my code:
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!
| <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!