定义格式的属性

定义格式的属性指定一些特征,当在表单或 Web 浏览器中显示数据时,这些特征有意义。这些属性在输出时或者在输入与输出时影响数据。

属性如下所示:

align

align 属性指定当数据长度比字段长度小时数据在变量字段中的位置。此属性在文本和打印表单上很有用。

在输出时,字符和数字数据受此属性影响。对于输入,字符数据受此属性影响,但数字数据总是右对齐的。

有效值如下所示:
left
将数据放在字段左边,对于字符数据,这是缺省情况。位于开头的空格将被除去,并且被放在字段末尾。
none
不对齐数据。此设置仅对字符数据有效。
right
将数据放在字段右边,对于数字数据,这是缺省情况。位于结尾的空格将被除去,并且被放在字段开头。对于带有小数位或正负号的数字数据,此设置是必需的。

currency

currency 属性指示是否将值前面的货币符号包括到数字字段中,符号的精确位置由 zeroFormat 属性确定。类型为 MONEY 的字段的格式取决于 strLib.defaultMoneyFormat 的值,它不受 currency 属性的影响。

currency 属性的值如下所示:
No(缺省值)
不使用货币符号。
Yes
使用 currencySymbol 中指定的符号。如果该处没有指定值,则使用缺省货币符号。

缺省货币符号由机器的语言环境确定。

currencySymbol

currencySymbol 属性指示在属性 currency 生效时要使用哪个货币符号。

fillCharacter

fillCharacter 属性指示用什么字符来填充文本或打印表单中的或者页面处理程序数据中的未使用位置。另外,此属性更改了 set field full 的作用,如 set 所述。此属性仅影响输出。

对于数字,缺省值是空格,对于十六进制项,缺省值是 0。字符类型的缺省值取决于介质:
  • 在文本或打印表单中,缺省值为空字符串
  • 对于页面处理程序数据,对于类型为 CHAR 或 MBCHAR 类型的数据,缺省值为空白

在页面处理程序中,对于类型为 DBCHAR 或 UNICODE 的项,fillCharacter 的值必须是空格(这是缺省值)。

dateFormat

dateFormat 属性标识在表单上显示的或在页面处理程序中维护的日期的格式。此属性既影响输入也影响输出,但在下列情况下不使用此属性:
  • 项具有小数位、货币符号、数字分隔符或正负号;或者
  • 数据项的数据类型是 DBCHAR、MBCHAR 或 HEX;或者
  • 项不够长,无法包含掩码。(有关其它详细信息,请参阅时间的长度注意事项。)
有效值如下所示:
"pattern"
pattern 值由一组字符组成,如日期、时间和时间戳记格式说明符中所述。
defaultDateFormat
在缺省情况下指定的或由程序中的赋值语句指定的模式。可指定此列表中的常量之一或指定您自己的模式。

如果对页面处理程序项指定此选项,则缺省模式是运行时 Java™ 语言环境中指定的日期格式。如果对表单项指定此选项,则缺省模式等同于选择 systemGregorianDateFormat。

isoDateFormat
模式“yyyy-MM-dd”,这是国际标准组织(ISO)指定的日期格式。
usaDateFormat
模式“MM/dd/yyyy”,这是 IBM® 美国标准日期格式。
eurDateFormat
模式“dd.MM.yyyy”,这是 IBM 欧洲标准日期格式。
jisDateFormat
模式“yyyy-MM-dd”,这是日本工业标准日期格式。
systemGregorianDateFormat
8 个或 10 个字符的模式,它包括 dd(表示数字格式的天)、MM(表示数字格式的月份)和 yy 或 yyyy(表示数字格式的年份),并将 d、M、y 或数字以外的字符用作分隔符。
格式在以下 Java 运行时属性中:
  vgj.datemask.gregorian.long.NLS
NLS
Java 运行时属性 vgj.nls.code 中指定的(本地语言支持)代码。此代码是 targetNLS 中列示的代码之一。不支持大写英语(代码 ENP)

有关 vgj.nls.code 的详细信息,请参阅 Java 运行时属性(详细信息)

systemJulianDateFormat
6 个或 8 个字符的模式,它包含 DDD(表示数字格式的天)和 yy 或 yyyy (表示数字格式的年份),并将 D、y 或数字以外的字符用作分隔符。
格式在以下 Java 运行时属性中:
  vgj.datemask.julian.long.NLS
NLS
Java 运行时属性 vgj.nls.code 中指定的(本地语言支持)代码。此代码是 targetNLS 中列示的代码之一。不支持大写英语(代码 ENP)

有关 vgj.nls.code 的详细信息,请参阅 Java 运行时属性(详细信息)。

内部日期格式

当用户输入有效数据时,将把日期由对此字段指定的格式转换为内部格式,以便用于后续验证。

字符日期的内部格式与系统缺省格式相同,并且包含分隔符。

对于数字日期,内部格式如下所示:
  • 对于格里历短日期,内部格式为 00yyMMdd
  • 对于格里历长日期,内部格式为 00yyyyMMdd
  • 对于儒略历短日期,内部格式为 0yyDDD
  • 对于儒略历长日期,内部格式为 0yyyyDDD

日期的长度注意事项

在表单中,表单的字段长度必须与您指定的字段掩码的长度相匹配。该项的长度必须足以容纳日期的内部格式。

在页面处理程序项中,规则如下所示:
  • 项长度必须足以容纳指定的日期掩码,但可以更长
  • 对于数字项,长度计算不考虑分隔符。

下表提供了示例。

格式类型 示例 表单字段的长度 页面处理程序项(字符类型)的最小长度 页面处理程序项(数字类型)的有效长度
短格里历 yy/MM/dd 8 8 6
长格里历 yyyy/MM/dd 10 10 8
短儒略历 DDD-yy 6 6 5
长儒略历 DDD-yyyy 8 8 7

日期的 I/O 注意事项

将对输入到变量字段中的数据进行检查,以确保日期是按指定格式输入的。用户不需要对日期和月份输入前导零,而是可以指定 8/5/1996(示例)而不是 08/05/1996。然而,省略分隔符的用户必须输入全部前导零。

isBoolean

isBoolean 属性(以前是 boolean 属性)指示该字段表示布尔值。此属性对有效字段值作了限制,在文本和打印表单中以及在页面处理程序中,此属性对输入或输出都很有用。

在与 EGL 页面处理程序相关联的 Web 页面上,布尔项是由复选框表示的。在表单上,情况如下所示:
  • 数字字段的值是 0(表示 false)或 1(表示 true)。
  • 字符字段的值是由从属于本地语言的字或部分字表示的。例如,在英语中,长度为三个或更多个字符的布尔字段具有值 yes(表示 true)或 no(表示 false),一字符布尔字段值具有截断的值 yn

    yesno 的特定字符值由语言环境确定。

linewrap

linewrap 属性指示文本在必要时是否自动换行以避免截断文本。值如下所示:
character(缺省值)
字段中的文本不会在空格处断开。
compressed
类型为 ConsoleField 的字段中的文本将在空格处断开,但当用户离开该字段时(浏览至另一字段或按 ESC 键),将除去用来使文本换行的所有多余空格。
word
如果可能,字段中的文本将在空格处断开。

lowerCase

lowerCase 属性指示在用户的单字节字符输入中是否将字母字符设置为小写字母。值如下所示:
no(缺省值)
不要将用户的输入设置为小写。
yes
将用户的输入设置为小写。

masked

masked 属性指示是否显示用户输入的字符。此属性用于输入密码。值如下所示:
no(缺省值)
将显示用户输入的字符。
yes
将不显示用户输入的字符。

numericSeparator

numericSeparator 属性表示是否在整数部分超过 3 位的数字中放置字符。例如,如果数字分隔符是逗号,则一千显示为 1,000,一百万显示为 1,000,000。值如下所示:
no(缺省值)
不使用数字分隔符。
yes
使用数字分隔符。

缺省值由机器的语言环境确定。

sign

sign 属性指示当用户输入或程序将数字放入字段时正号(+)或负号(-)的显示位置。值如下所示:
none
不显示符号。
leading
缺省值:符号显示在数字第一位的左边,符号的准确位置由 zeroFormat 属性(在后文中有所描述)确定。
trailing
在数字最后一位的右边紧跟着显示符号。

timeFormat

timeFormat 属性标识在表单上显示的或在页面处理程序中维护的时间的格式。此属性既影响输入也影响输出,但在下列情况下不使用此属性:
  • 项具有小数位、货币符号、数字分隔符或正负号;或者
  • 数据项的数据类型是 DBCHAR、MBCHAR 或 HEX;或者
  • 项不够长,无法包含掩码。(有关其它详细信息,请参阅时间的长度注意事项。)
有效值如下所示:
"pattern"
pattern 值由一组字符组成,如日期、时间和时间戳记格式说明符中所述。
defaultTimeFormat
在缺省情况下指定的或由程序中的赋值语句指定的模式。可指定此列表中的常量之一或指定您自己的模式。

Java 环境中的缺省值由 Java 语言环境设置。

isoTimeFormat
模式“HH.mm.ss”,这是国际标准组织(ISO)指定的时间格式。
usaTimeFormat
模式“hh:mm AM”,这是 IBM 美国标准时间格式。
eurTimeFormat
模式“HH.mm.ss”,这是 IBM 欧洲标准时间格式。
jisTimeFormat
模式“HH:mm:ss”,这是日本工业标准时间格式。

时间的长度注意事项

在表单中,字段长度必须与您指定的时间掩码的长度相匹配。在页面处理程序项中,规则如下所示:
  • 项长度必须足以容纳指定的时间掩码,但可以更长
  • 对于数字项,长度计算不考虑分隔符。

时间的 I/O 注意事项

将对输入到变量字段中的数据进行检查,以确保时间是按指定格式输入的。用户不需要对小时、分钟和秒输入前导零,而是可以指定 8:15(示例)而不是 08:15。然而,省略分隔符的用户必须输入全部前导零。

以内部格式存储的时间不会被识别为时间,而仅仅被识别为数据。例如,如果将 6 字符时间字段移至长度为 10 的字符项中,则 EGL 将用空格来填充目标字段。然而,当在表单上显示 6 字符值时,将把时间从其内部格式进行适当的转换。

timeStampFormat

timeStampFormat 属性标识在表单上显示的或在页面处理程序中维护的时间戳记的格式。

有效值如下所示:
"pattern"
pattern 值由一组字符组成,如日期、时间和时间戳记格式说明符中所述。
defaultTimeStampFormat
在缺省情况下指定的或由程序中的赋值语句指定的模式。可指定此列表中的常量之一或指定您自己的模式。

在 Java 环境中,缺省值由 Java 语言环境设置。

db2TimeStampFormat
模式“yyyy-MM-dd-HH.mm.ss.ffffff”,这是 IBM DB2® 缺省时间戳记格式。
odbcTimeStampFormat
模式“yyyy-MM-dd HH:mm:ss.ffffff”,这是 ODBC 时间戳记格式。

必须按出现在时间戳记中的顺序指定表示时间单位(年份和日子等等)的模式。可从时间戳记的开头和结尾删除模式,但不能从时间戳记的中间删除模式。

upperCase

upperCase 属性指示在用户的单字节字符输入中是否将字母字符设置为大写字母。

此属性在表单中以及在页面处理程序中都很有用。

upperCase 的值如下所示:
No(缺省值)
不要将用户的输入设置为大写。
Yes
将用户的输入设置为大写。

zeroFormat

zeroFormat 属性指定在数字字段中(但不是在类型为 MONEY 的字段中)如何显示零值。此属性受 numeric separatorcurrencyfillCharacter 属性影响。 zeroFormat 的值如下所示:
Yes
零值作为数字零显示,后者可以表示为具有小数点(一个示例为 0.00,如果项被定义为具有两个小数位的话)和具有货币符号和字符分隔符($000,000.00 是一个示例,这取决于 currencynumericSeparator 属性的值)。当 zeroFormat 属性的值为 yes 时,下列规则适用:
  • 如果填充字符fillCharacter 属性的值)为 0,则通过字符 0 定义数据的格式
  • 如果填充字符为空,则数据是向左对齐的
  • 如果填充字符是空格,则数据是向右对齐的
  • 如果填充字符是星号(*),则星号取代空格用作左填充符
No
将零值显示成一系列填充字符。
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.