I'm using a GridDataBoundGrid and I've added a number of columns using the GridBoundColumn Collection Editor in VS.NET.
One of the columns is bound to a floating point number and I'm trying to use the ValidateValue item to do automatic validation of cells in that column. I have set the item values as follows.
NumberRequired = True
Minimum = 0.01
Maximum = 24
Unfortunetly, this does not have any effect, I can still enter any value into the cells. Is there something else I need to do to get validation working?
August 27, 2002 02:30 AM
This appears to be a bug. Setting these values in the designer did not 'take'. We'll get this fixed.
However, I was able to get these values to 'take' by explicitly setting them in an Form Load event handler with code such as:
this.gridDataBoundGrid1.GridBoundColumns["Quantity"].StyleInfo.ValidateValue = New GridCellValidateValueInfo(True, 0.01, 1000, "bad number")
Me.GridDataBoundGrid1.GridBoundColumns("Quantity").StyleInfo.ValidateValue = New GridCellValidateValueInfo(True, 0.01, 1000, "bad number")
August 27, 2002 05:23 PM
Clay, thanks for the workaround, but there seems to be a problem indexing the GridBoundColumn by name. My GridBoundColumn is called 'hoursColumn' in the VS.NET designer and it is the 3rd column (index 2).
The following code returns null.
Whereas this code returns the correct column object.
I'm using this as a workaround to my problem, hope this makes sense.
August 28, 2002 03:16 AM
Is "hoursColumn" the MappingName for your GridBoundColumn, or is it the HeaderText? Is it also the exact case?
August 28, 2002 10:12 PM
Ok, "hoursColumn" is the design name of the column. I tried using the HeaderText of the column and that worked.
I seem to have run into another problem though. The AllowEnter attribute doesn't seem to work whether I set it through the designer or directly in code. I have a column "notesColumn" with CellType=TextBox and AllowEnter=false but the column still allows newlines to be entered.
What's more, the previous column is the "hoursColumn" I described earlier, has AllowEnter=false, and pressing enter correctly moves the cursor to the next column but inserts a newline there. I have ActivateCurrentCellBehaviour=SelectAll set for the table so this also has the unhappy side-effect of deleting the text in the "notesColumn".
I'd appreciate any guidance you could give me.
August 29, 2002 02:08 PM
I tried to see this behavior in the attached simple sample. The first 2 columns are text columns and they both have AllowEnter = False, but I don't see this problem. Maybe you could spot some difference between this sample and what you are doing?
Tom Le Blanc
November 14, 2002 12:55 PM
Is there any way to short-circut the ValidateValue.NumberRequired to allow for an empty cell?
e.g. If a user enters a value in a validated cell and realizes it's the wrong cell, but doesn't want a zero in the cell.
Do you have any sample code (VB preferred) on how to roll that using the GridCellValidateValueInfo?