This is a migrated thread and some comments may be shown as answers.

RadGrid Validation

1 Answer 147 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mike Beaton
Top achievements
Rank 1
Mike Beaton asked on 25 Nov 2010, 05:13 PM
Hi

I have been trying to follow the example http://www.telerik.com/help/aspnet-ajax/grdvalidation.html to add a requiredfield validator to a GridTimeDateColumn by changing the GridTextBoxColumnEditor to a GridDateTimeColumnEditor but this does not seem to work.

When I try to insert a new record I get the error Object reference not set to an instance of an object.

Here is my markup
<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
        <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RiskGrid_NeedDataSource" OnItemCreated="RiskGrid_ItemCreated">
            <MasterTableView commanditemdisplay="Bottom">
                <Columns>
                    <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
                        <HeaderStyle Width="2%" />
                        <ItemStyle CssClass="MyImageButton" />
                    </telerik:GridEditCommandColumn>
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>
    </div>
    </form>

And Code

protected void RiskGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                GridEditableItem item = e.Item as GridEditableItem;
                GridDateTimeColumnEditor editor = (GridDateTimeColumnEditor)item.EditManager.GetColumnEditor("DateReported");
                TableCell cell = (TableCell)editor.PickerControl.Parent;
                RequiredFieldValidator validator = new RequiredFieldValidator();
                editor.PickerControl.ID = "rdpDateRecorded";
                validator.ControlToValidate = editor.PickerControl.ID;
                validator.ErrorMessage = "*";
                cell.Controls.Add(validator);
            }
        }

Does anyone know what the problem could be.

Regards

Mike


1 Answer, 1 is accepted

Sort by
0
Mike Beaton
Top achievements
Rank 1
answered on 25 Nov 2010, 05:52 PM
I have solved this with the following code

protected void RiskGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {               
                GridEditableItem item = e.Item as GridEditableItem;
                RequiredFieldValidator validator = new RequiredFieldValidator();
                validator.ControlToValidate = ((RadDatePicker)item["DateReported"].Controls[0]).ID;
                validator.ErrorMessage = "*";
                item["DateReported"].Controls.Add(validator);              
            }
        }


Tags
Grid
Asked by
Mike Beaton
Top achievements
Rank 1
Answers by
Mike Beaton
Top achievements
Rank 1
Share this question
or