Datatypes of DataWindow property expressions in PowerBuilder

DataWindow property values

The values of DataWindow object properties are strings. These strings can contain numeric or yes/no values, but the values you access are strings, not integers or boolean values.

Although the property values are really strings, the PowerScript compiler allows you to assign numbers and boolean values to properties whose strings represent numeric values or contain yes/no strings. This does not mean the datatype is integer or boolean. It is just a convenience when assigning a value to the property.

For example, both of these statements are correct:

dw_1.Object.empname.Border = 1
dw_1.Object.empname.Border = '1'

DataWindow property expressions

In PowerBuilder, the datatype of a property expression is Any (not string), but the value of the data in the Any variable is a string. This may sound like an unnecessary distinction, but it does matter when you use a property expression as a method argument. If the method does not accept an Any variable as an argument, you might need to use the String function to cast the data to the correct datatype.

For example, because the MessageBox function accepts a string argument not an Any datatype, the property expression is enclosed in a String conversion function:

MessageBox("Border", & String(dw_1.Object.empname.Border))