Hello,
I have a RadGrid that is using EditFormType="AutoGenerated". I am using the InsertCommand handler to harvest the values from the controls and insert a "Video" record. There are a couple of RadComboBox controls, numerous RadTextBox controls and a RadEditor.
The grid also has GridTemplateColumn definitions for a couple of the RadTextBoxes so that I can attach the Validator to validate an integer was entered. The RadComboBoxes are also in a GridTemplateColumn.
There are other grids in the project that use EditFormType="AutoGenerated" and I am able to get the values looping through the RenderColumns. This works..
If I use that same construct for the way this template is layed out I am not sure how to access the values in the GridBoundColumns because the cast below does not work.
So I am unsure how to get the values from this scenario. Here is my markup for the RadGrid.
1) So I am unclear how to get the values from the GridBoundColumns or the nested controls in the GridTemplateColumns.
2) Also, this scenario is in INSERT. Does it differ in the UpdateCommand handler?
Any suggestions would be appreciated.
Thanks,
Reid
I have a RadGrid that is using EditFormType="AutoGenerated". I am using the InsertCommand handler to harvest the values from the controls and insert a "Video" record. There are a couple of RadComboBox controls, numerous RadTextBox controls and a RadEditor.
The grid also has GridTemplateColumn definitions for a couple of the RadTextBoxes so that I can attach the Validator to validate an integer was entered. The RadComboBoxes are also in a GridTemplateColumn.
There are other grids in the project that use EditFormType="AutoGenerated" and I am able to get the values looping through the RenderColumns. This works..
foreach (GridColumn column in e.Item.OwnerTableView.RenderColumns) { if (column is IGridEditableColumn) { IGridEditableColumn editableCol = (column as IGridEditableColumn); if (editableCol.IsEditable) { editor = editMan.GetColumnEditor(editableCol); if (editor is GridTextColumnEditor) { editorText = (editor as GridTextColumnEditor).Text; editorValue = (editor as GridTextColumnEditor).Text; if (editableCol.Column.UniqueName == "AddressTypeStr") { newAddressType.AddressTypeStr = editorValue.ToString(); } if (editableCol.Column.UniqueName == "TypeDescription") { newAddressType.TypeDescription = editorValue.ToString(); } } } } } // ForEachIf I use that same construct for the way this template is layed out I am not sure how to access the values in the GridBoundColumns because the cast below does not work.
if (editor is GridBoundColumn) { editorText = (editor as GridBoundColumn).Text; editorValue = (editor as GridBoundColumn).Text; }So I am unsure how to get the values from this scenario. Here is my markup for the RadGrid.
<telerik:RadGrid ID="ctrlRadGridVideos" runat="server" Height="700" AllowFilteringByColumn="True" EnableAJAX="true" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" GridLines="None" ShowGroupPanel="True" ShowStatusBar="True" Skin="Telerik"> <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" AllowColumnsReorder="true" AllowDragToGroup="True"> <Selecting AllowRowSelect="True" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <Resizing AllowColumnResize="True" /> </ClientSettings> <MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="PrimaryKey" EditItemStyle-ForeColor="#669999"> <RowIndicatorColumn> <HeaderStyle Width="100px" /> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="100px" /> </ExpandCollapseColumn> <Columns> <telerik:GridEditCommandColumn HeaderStyle-Width="50" ItemStyle-ForeColor="Blue" UniqueName="Edit"> <HeaderStyle Width="50px" /> <ItemStyle ForeColor="Blue" /> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn DataField="VideoTitle" HeaderText="Video Title" UniqueName="VideoTitle" EditFormColumnIndex="0" ShowSortIcon="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VideoSubTitle" HeaderText="Sub Title" UniqueName="VideoSubTitle" EditFormColumnIndex="0" ShowSortIcon="true"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Description" UniqueName="VideoDescription" EditFormColumnIndex="1" Visible="false" HeaderStyle-VerticalAlign="Top" HeaderStyle-Height="100%" ShowSortIcon="true"> <EditItemTemplate> <telerik:RadEditor ID="ctrlVideoDescriptionRadEditor" runat="server" Content='<%# Bind("VideoDescription") %>' Height="100%" Width="100%" Skin="Web20"> <CssFiles> <telerik:EditorCssFile Value="~/Content/css/RadEditorContentArea.css" /> </CssFiles> </telerik:RadEditor> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Type" UniqueName="VideoType" EditFormColumnIndex="0" Visible="false"> <EditItemTemplate> <telerik:RadComboBox ID="ctrlVideoTypeRadComboBox" runat="server" Width="220px" Skin="Web20" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ctrlVideoTypeLabel" runat="server" Text="Video Type" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Category" UniqueName="VideoCategory" EditFormColumnIndex="0" Visible="false"> <EditItemTemplate> <telerik:RadComboBox ID="ctrlVideoCategoryRadComboBox" runat="server" Width="220px" Skin="Web20" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ctrlVideoCategoryLabel" runat="server" Text="Video Category" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="VideoHyperlink" HeaderText="URL Hyperlink" UniqueName="VideoHyperlink" EditFormColumnIndex="0" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VideoSEOKeywords" HeaderText="SEO Keywords" UniqueName="SEOKeywords" EditFormColumnIndex="0" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VideoSEODescription" HeaderText="SEO Description" UniqueName="VideoSEODescription" EditFormColumnIndex="0" Visible="false"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Rating" UniqueName="Rating" EditFormColumnIndex="0"> <EditItemTemplate> <asp:TextBox ID="ctrlVideoRatingRadTextBox" runat="server" ValidationGroup="checkRating" Width="80px" /> <asp:RegularExpressionValidator ID="RegularExpressionValidatorRating" runat="server" ControlToValidate="ctrlVideoRatingRadTextBox" ErrorMessage="Please Enter Only Numbers" ValidationExpression="^\d+$" ValidationGroup="checkRating" ForeColor="Red"> </asp:RegularExpressionValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ctrlVideoRatingLabel" runat="server" Text="" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Height" UniqueName="Height" EditFormColumnIndex="0" Visible="false"> <EditItemTemplate> <asp:TextBox ID="ctrlVideoHeightTextBox" runat="server" ValidationGroup="checkHeight" Width="80px" /> <asp:RegularExpressionValidator ID="RegularExpressionValidatorHeight" runat="server" ControlToValidate="ctrlVideoHeightTextBox" ErrorMessage="Please Enter Only Numbers" ValidationExpression="^\d+$" ValidationGroup="checkHeight" ForeColor="Red"> </asp:RegularExpressionValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ctrlVideoHeightLabel" runat="server" Text="Height" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Width" UniqueName="Width" EditFormColumnIndex="0" Visible="false"> <EditItemTemplate> <asp:TextBox ID="ctrlVideoWidthTextBox" runat="server" ValidationGroup="checkWidth" Width="80px" /> <asp:RegularExpressionValidator ID="RegularExpressionValidatorWidth" runat="server" ControlToValidate="ctrlVideoWidthTextBox" ErrorMessage="Please Enter Only Numbers" ValidationExpression="^\d+$" ValidationGroup="checkWidth" ForeColor="Red"> </asp:RegularExpressionValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ctrlVideoWidthLabel" runat="server" Text="Width" /> </ItemTemplate> </telerik:GridTemplateColumn> <%-- <telerik:GridTemplateColumn HeaderText="Hyperlink" UniqueName="VideoHyperlink" EditFormColumnIndex="0"> <EditItemTemplate> <telerik:RadTextBox ID="ctrlVideoHyperlinkRadTextBox" runat="server" Width="220px" Skin="Web20" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ctrlVideoHyperLinkLabel" runat="server" Text="Video Hyperlink" /> </ItemTemplate> </telerik:GridTemplateColumn> --%> <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="Delete" HeaderStyle-Width="50" ConfirmText="Confirm: Delete Selected Video?" ConfirmTitle="Confirmation" ItemStyle-ForeColor="Blue"> <HeaderStyle Width="50px" /> <ItemStyle ForeColor="Blue" /> </telerik:GridButtonColumn> </Columns> <EditItemStyle ForeColor="#669999" /> <PagerStyle AlwaysVisible="True" /> <EditFormSettings EditFormType="AutoGenerated" FormStyle-Height="500" FormStyle-Width="100%" ColumnNumber="3" > <%-- <EditColumn UniqueName="EditColumn0" > </EditColumn>--%> <FormTableItemStyle Wrap="False"></FormTableItemStyle> <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" Width="100%" /> <FormTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="2" CssClass="module" Height="110px" Width="100%" /> <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> <FormStyle Height="700px" Width="100%" /> </EditFormSettings> </MasterTableView> </telerik:RadGrid>1) So I am unclear how to get the values from the GridBoundColumns or the nested controls in the GridTemplateColumns.
2) Also, this scenario is in INSERT. Does it differ in the UpdateCommand handler?
Any suggestions would be appreciated.
Thanks,
Reid