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
>