I want to insert a record without closing the add record form. I'm trying to use the e.Canceled = True statement but when I go to try to access the controls in the GridTemplateColumn of the RadGrid control I get errors like "Object reference not set to an instance of an object.". Below is the code I'm using. Any help you can provide would be appreciated.
Here is the RadGrid that I'm trying to access the controls of:
protected void gvGrossPayroll_ItemCommand(object sender, GridCommandEventArgs e){ if (e.CommandName == RadGrid.PerformInsertCommandName || e.CommandName == RadGrid.CancelCommandName) { e.Canceled = true; GridEditableItem editedItem = (sender as RadNumericTextBox).NamingContainer as GridEditableItem; RadNumericTextBox txtTest1 = editedItem["txtPayrollAmount1a"].Controls[0] as RadNumericTextBox; Debug.WriteLine("Test:" + Convert.ToString(txtTest1.Text)); }}Here is the RadGrid that I'm trying to access the controls of:
<telerik:RadGrid ID="gvGrossPayroll" runat="server" AllowAutomaticDeletes="True" AllowAutomaticUpdates="True" AllowAutomaticInserts="False" OnInsertCommand="gvGrossPayroll_InsertCommand" AutoGenerateColumns="False" DataSourceID="SDS_Payroll" GridLines="None" OnItemCommand="gvGrossPayroll_ItemCommand" ShowFooter="True" Skin="Web20" Width="544px"> <MasterTableView AutoGenerateColumns="False" CommandItemDisplay="TopAndBottom" DataKeyNames="ID" DataSourceID="SDS_Payroll"> <RowIndicatorColumn> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <CommandItemSettings /> <Columns> <telerik:GridBoundColumn DataField="id" ReadOnly="True" UniqueName="ID" Visible="False"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn EditFormColumnIndex="0" HeaderText="Job Class Code" DataField="JobClass" UniqueName="JobClass" Visible="true" ReadOnly="False" HeaderStyle-VerticalAlign="Bottom"> <ItemTemplate> <asp:Label ID="JobClass" runat="server" Text='<%# Bind("JobClass") %>'></asp:Label> </ItemTemplate> <InsertItemTemplate> <telerik:RadComboBox ID="ddlJobClassID" Runat="server" AllowCustomText="True" DataSourceID="SqlDataSourceDDL" DataTextField="JobClass" DataValueField="JobClassID" EmptyMessage="Please enter a job class code" EnableViewState="False" AppendDataBoundItems="true" ErrorMessage="You must enter a job class code to add a record" MarkFirstMatch="True" ShowDropDownOnTextboxClick="False" Skin="Web20" ToolTip="Enter a Job Class Code" Width="350px" SelectedValue='<%# Bind("JobClassID") %>'> </telerik:RadComboBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Job Class Code is a required field" Font-Bold="True" Font-Names="Arial Narrow" ForeColor="Red" ControlToValidate="ddlJobClassID" ToolTip="Job Class Code is a required field">X </asp:RequiredFieldValidator> </InsertItemTemplate> <EditItemTemplate> <asp:Label ID="JobClass" runat="server" Text='<%# Bind("JobClassID") %>'></asp:Label> </EditItemTemplate> <HeaderStyle VerticalAlign="Bottom" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn EditFormColumnIndex="0" HeaderText="Year1" UniqueName="PayrollAmount1" Visible="true" Aggregate="Sum" DataField="PayrollAmount1" FooterAggregateFormatString="{0:C}" HeaderStyle-Width="60px"> <ItemTemplate> <asp:Label ID="PayrollAmount1" runat="server" Text='<%# Eval("PayrollAmount1", "{0:C}") %>'></asp:Label> </ItemTemplate> <InsertItemTemplate> <telerik:RadNumericTextBox ID="txtPayrollAmount1a" Runat="server" Culture="English (United States)" MinValue="0" NumberFormat-DecimalDigits="0" Skin="Web20" TabIndex="2" ToolTip="Payroll Amount" Type="Currency" Width="100px" Value="0" Text='<%# Bind("PayrollAmount1") %>' > <EnabledStyle HorizontalAlign="Right" /> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </InsertItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="txtPayrollAmount1" Runat="server" Culture="English (United States)" MinValue="0" NumberFormat-DecimalDigits="0" Skin="Web20" TabIndex="2" ToolTip="Payroll Amount" Type="Currency" Text='<%# Bind("PayrollAmount1") %>' Width="100px"> <EnabledStyle HorizontalAlign="Right" /> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </EditItemTemplate> <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Right" Wrap="True" /> <HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center" Wrap="True" /> <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Right" Wrap="True" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn EditFormColumnIndex="0" HeaderText="Year2" UniqueName="PayrollAmount2" Visible="true" DataField="PayrollAmount2" Aggregate="Sum" FooterAggregateFormatString="{0:C}" HeaderStyle-Width="60px" > <ItemTemplate> <asp:Label ID="PayrollAmount2" runat="server" Text='<%# Eval("PayrollAmount2", "{0:C}") %>'></asp:Label> </ItemTemplate> <InsertItemTemplate> <telerik:RadNumericTextBox ID="txtPayrollAmount2" Runat="server" Culture="English (United States)" MinValue="0" NumberFormat-DecimalDigits="0" Skin="Web20" TabIndex="2" ToolTip="Payroll Amount" Type="Currency" Value="0" Width="100px" Text='<%# Bind("PayrollAmount2") %>'> <EnabledStyle HorizontalAlign="Right" /> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </InsertItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="txtPayrollAmount2" Runat="server" Culture="English (United States)" MinValue="0" NumberFormat-DecimalDigits="0" Skin="Web20" TabIndex="2" ToolTip="Payroll Amount" Type="Currency" Width="100px" Text='<%# Bind("PayrollAmount2") %>'> <EnabledStyle HorizontalAlign="Right" /> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </EditItemTemplate> <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Right" Wrap="True" /> <HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center" Wrap="True" /> <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Right" Wrap="True" /> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn CommandName="Delete" ConfirmText="Delete this payroll record?" ImageUrl="/images/delete.gif" Text="Delete" UniqueName="column3"> </telerik:GridButtonColumn> <telerik:GridBoundColumn DataField="MemberID" DataType="System.Int16" UniqueName="MemberID" ReadOnly="True" Visible="False"> </telerik:GridBoundColumn> </Columns> <EditFormSettings CaptionDataField="MemberID" CaptionFormatString="Edit Payroll Record" ColumnNumber="1" InsertCaption="Add Payroll Record"> <FormTableItemStyle Wrap="False" /> <FormCaptionStyle CssClass="EditFormHeader" /> <FormMainTableStyle BackColor="White" CellPadding="3" CellSpacing="0" GridLines="None" Width="100%" /> <FormTableStyle BackColor="White" CellPadding="2" CellSpacing="0" Height="110px" /> <FormTableAlternatingItemStyle Wrap="False" /> <EditColumn ButtonType="ImageButton" CancelText="Cancel edit" InsertText="Insert Record" UniqueName="EditCommandColumn1" UpdateText="Update record"> </EditColumn> <FormTableButtonRowStyle CssClass="EditFormButtonRow" HorizontalAlign="Right" /> </EditFormSettings> </MasterTableView> <ClientSettings AllowDragToGroup="True"> <Selecting AllowRowSelect="True" /> </ClientSettings> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Web20" EnableImageSprites="True"> </HeaderContextMenu></telerik:RadGrid>