Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PosNameTypeDescriptionDefault
<1>Validation PatternTextThe cell's validation pattern"None"
<2>Conversion PatternTextThe cell's output conversion pattern"None"
<3>Validation MessageTextThe cell's message to display when data is invalid""
<4>Show Message FlagBooleanDetermines if the cell should display the validation message or simply pass it on to the OnInvalidData event1
<5>Highlight Text on Cancel FlagBooleanDetermines if the invalid text should be highlighted instead of just leaving the cursor where it is1
<6>Disable ValidationBooleanDetermines if the table's automated validation is disabled0

...

The validation pattern can be any OI pattern acceptable to the built-in OI function IConv. If you wish to remove a pattern, set this field to "None". Also, all user defined patterns must be incased written in ALL CAPS and encased in square brackets, e.g., "[PHONE_FORMAT]"

...

The conversion pattern must be a custom conversion. Simply passing built-in conversions does not work due to technical limitations. The SRP EditTable Controls calls the FMT routine via RevCAPI, and for reasons unknown to us, built-in conversions do not work when called from outside BASIC+. However, custom conversions--conversion within square brackets--work just fine. As with Validation Patterns, these must be written in ALL CAPS and encased in square brackets. We recommend creating a custom converter that is a simple wrapper around OConv. For example:

Code Block

...

Compile subroutine Cell_Conv(Conv, Ans, Branch, ReturnData)

...

Code Block


If Conv EQ "OCONV" then
   If Branch[1, 1] EQ "D" then
       If Num(Ans) then
           // The data is already in internal format, so just OConv it
           ReturnData = OConv(Ans, Branch)
       end else
           // The data is an some date format, so IConv it first, then OConv it
           ReturnData = OConv(IConv(Ans, "D"), Branch)
       end
   end else
       // For all non-date types, IConv first (just in case), then OConv it
       ReturnData = OConv(IConv(Ans, Branch), Branch)
   end
end else
   // IConv as usual
   ReturnData = IConv(Ans, Branch)
end

 ReturnReturn

Of course, you can use any custom converter you desire, just so long as you are aware that this is the best way to get built-in conversions working automatically for you in the SRP EditTable Control.

...

By default, the table will always attempt to validate the cell's data against the Validation Pattern. If, however, you merely want to store the validation in this property but perform the validation check yourself, you can set this flag to 1 to disable the automated validation. In this case, you would want to use thethe BeforeUpdate event to perform the validation manually.

...