views:

35

answers:

2

Hello!

I'm using a DataGrid with edit functionalities in my project. It's handy, compared to having to edit its source data manually, but sadly, that means that I'll have to deal with validating user input a bit more.

And my problem is basically just that. When I set my DataGrid to EDIT mode, modify the values and then set it to UPDATE, what is the best way to check if a value that I've entered is, in fact, compatible with the corresponding column's data type?

i.e. (simple example)

// assuming
DataTable dt = new DataTable();
dt.Columns.Add("aa",typeof(System.Int32));

DataGrid dg = new DataGrid();
dg.DataSource = dt;
dg.DataBind();

dg.UpdateCommand += dg_Update;

// this is the update handler
protected void dg_Update(object src, DataGridCommandEventArgs e)
{
    string newValue = (someValueIEnteredInTextBox);

    // HOW DO I CHECK IF [newValue] IS COMPATIBLE WITH COLUMN "aa" ABOVE?

    dt.LoadDataRow(newValue, true);
}

Thanks guys. Any leads would be so much help.

A: 

Can't you use a compare validator? it does check for the following datatypes

 String
 Double
 Date
 Currency
 Decimal

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.comparevalidator.aspx

Albert
CompareValidators would actually be so much help, but the TextBox(es) are generated automatically by the DataGrid's edit procedure (i.e. thru the use of an EditCommandColumn).CompareValidators would be OK, I guess, but I'll have to calibrate them each time the DataGrid enters edit mode.Definitely easier and more efficient than normal validating, but I wonder if there's a better way?
Richard Neil Ilagan