I am trying to programmatically add a RequiredFieldValidator to a GridDateTimeColumn. However, I get a null reference exception when the grid goes into Edit or Insert mode.
Relevant code is:
<telerik:GridDateTimeColumn DataField="NoticeDate" HeaderText="Notice Date" UniqueName="NoticeDate"
DataFormatString="{0:d}" />
Private Sub grdNip_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles grdNip.ItemCreated
If TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode Then
Dim item As GridEditableItem = e.Item
Dim dateEditor As GridDateTimeColumnEditor
Dim valRequired As RequiredFieldValidator
Dim cell As TableCell
dateEditor = item.EditManager.GetColumnEditor("NoticeDate")
cell = dateEditor.PickerControl.Parent
dateEditor.PickerControl.ID = "dtNoticeDate"
valRequired = New RequiredFieldValidator()
valRequired.ControlToValidate = "dtNoticeDate"
valRequired.ErrorMessage = "Notice date is required"
cell.Controls.Add(valRequired)
End If
End Sub
Stack trace:
Relevant code is:
<telerik:GridDateTimeColumn DataField="NoticeDate" HeaderText="Notice Date" UniqueName="NoticeDate"
DataFormatString="{0:d}" />
Private Sub grdNip_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles grdNip.ItemCreated
If TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode Then
Dim item As GridEditableItem = e.Item
Dim dateEditor As GridDateTimeColumnEditor
Dim valRequired As RequiredFieldValidator
Dim cell As TableCell
dateEditor = item.EditManager.GetColumnEditor("NoticeDate")
cell = dateEditor.PickerControl.Parent
dateEditor.PickerControl.ID = "dtNoticeDate"
valRequired = New RequiredFieldValidator()
valRequired.ControlToValidate = "dtNoticeDate"
valRequired.ErrorMessage = "Notice date is required"
cell.Controls.Add(valRequired)
End If
End Sub
Stack trace:
[NullReferenceException: Object reference not set to an instance of an object.]
Telerik.Web.UI.GridDateTimeColumnEditor.set_Text(String value) +34
Telerik.Web.UI.GridBoundColumn.OnDataBindColumn(Object sender, EventArgs e) +856
System.Web.UI.Control.OnDataBinding(EventArgs e) +99
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +92
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
Telerik.Web.UI.GridEditFormItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows) +227
Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group) +869
Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls) +129
Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +994
Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +545
System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +57
System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +114
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +31
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142
Telerik.Web.UI.GridTableView.PerformSelect() +16
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
Telerik.Web.UI.GridTableView.DataBind() +221
Telerik.Web.UI.GridTableView.Rebind() +48
Telerik.Web.UI.GridCommandEventArgs.ExecuteCommand(Object source) +159
Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e) +134
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +87
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565