文本框包含以下属性。
●activateAccessKey:设置是否允许使用快捷键(使用“Alt”键与首字母触发默认事件)。
●alignment:控制文本框中文本显示的位置,如靠左、靠右或居中等。
●autoTab:控制用户是否可以通过“Tab”键进行快速跳转,布尔型属性。
●contextMenuBehaviour:设置上下文菜单行为,默认有“继承”“允许”和“禁止”3种类型。
●contextMenuId:设置上下文菜单的唯一标识。
●defaultDateRefId:设置默认的引用日期标识。
●displayAsText:控制是否以文本形式显示,如设置为“true”,则在视图中的显示效果与“TextView”一样。
●enabled:控制元素是否可用。
●imeMode:控制是否允许本地计算机中的输入法进行文本输入。
●inputPromt:控制焦点在文本框中时的默认输入提示。
●length:控制文本框的显示长度。
●onEnterBehavior:控制在文本框中回车时的响应事件。
●passwordField:控制是否以密码方式显示输入值,即当属性值为true时,输入框将显示“∗∗∗”作为密码输入。
●readOnly:控制文本框是否只读。
●state:控制元素的显示状态,默认有“normal”和“required”两种状态。在选择“required”后,元素会出现一个红色星号进行提醒,但逻辑控制仍需要编写相关代码。
●suggestedValue:控制是否有推荐值。
●textDirection:控制链接文本的排列顺序,默认有3个选项:继承自父元素、从左往右和从右往左。
●tooltip:控制提示消息的显示文本。
●value:文本框中输入值所对应的上下文特性,文本框的关键属性。另外,文本框元素的显示方式与绑定变量类型有直接关系,当变量类型为日期类型时,文本框元素会自动显示日期搜索帮助。同样当类型为数字或整型时,界面元素会提供数字型搜索并有类型合法性校验。
●visible:控制元素是否可见。
●width:控制元素的显示宽度。
●onChange事件:当文本框的值发生改变并且失去鼠标焦点或按<Enter>键时触发。
●onEnter事件:当按<Enter>键时触发(如果文本框属性是“SuggestValues”并且“onEnterBehavior”设置为“no”时,则不会触发该动作)。
注:当存在“onChange”事件时,“onEnter”事件不会被触发,即不论是文本框的值发生改变、输入框失去鼠标焦点,还是按<Enter>键,都会优先触发“onChange”事件,而跳过“onEnter”事件。
开发实例:
1)打开任意一个视图,添加一个文本框。右击“Outline”中的“RootElement”根结点,选择插入子对象,选择“InputField”,输入ID名称,随后单击“OK”按钮,如图4-24所示。
图4-24 选择元素类型
2)再添加一个标签,右击“Outline”中的“RootElement”根结点,选择插入子对象,选择“Label”,输入ID名称,随后单击“OK”按钮,如图4-25所示。
图4-25 选择元素类型
3)打开标签的属性,在“labelFor”属性中选择之前创建的“Id_Input”的文本框的ID,“text”属性输入“Id”,如图4-26所示。
4)完成标签的修改后,接着打开文本框的属性,在“state”状态属性中选择“requied”表示文本框必填,如图4-27所示。
图4-26 修改标签属性
图4-27 修改输入框属性
5)完成修改后,保存所有修改,在视图中会看到文本框前多了一个红色星号,提示用户必填,但元素中属性修改只是页面上提示,逻辑判断还需要额外编写代码实现,如图4-28所示。
6)在“inputPromt”属性输入“Enter Id”,保存修改后,页面效果如图4-29所示。
7)如果这时保存并编译、运行程序,会提示文本框的值未绑定上下文,这是由于文本框对于用户的输入必须有对应的上下文进行保存。切换到视图的上下文中,创建一个名称为“Id”、类型为“String”的特性,如图4-30所示。
图4-28 预览效果
图4-29 运行效果
图4-30 创建特性后的效果
8)将文本框的属性中的“value”与上下文进行绑定,如图4-31所示。(www.daowen.com)
9)保存所有修改后,编译、部署并运行视图对应的程序,运行效果如图4-32所示。
图4-31 修改属性后的效果
图4-32 运行效果
10)下面继续测试文本框的其他属性以及实现后的实际效果。首先,在文本框后添加一个按钮,用于后面的测试。在“text”文本框中输入“打印”,图标选择“SAP Icon”标准图标中的“s_b_prnt.gif”,如图4-33所示。
11)随后添加一个方法,在代码中添加打印逻辑,用于打印文本框内的文本,如图4-34所示。
wdComponentAPI.getMessageManager().reportSuccess(wdContext.currentContextElement().getId());
图4-33 修改属性
12)将文本框的“passwordField”属性设置为“true”,编译运行后的效果如图4-35所示。
13)单击“打印”按钮后,下方消息区域会提示输入内容,如图4-36所示。
图4-34 预览效果
图4-35 运行效果
图4-36 单击打印按钮效果
14)将文本框的“readOnly”只读属性设置为“true”,如图4-37所示。
15)在文本框的事件属性中,创建“onChange”和“onEnter”事件,如图4-38所示。
图4-37 运行效果
图4-38 创建事件
“onChange”事件参考代码如下:
“onEnter”事件参考代码如下:
16)保存所有修改,并重新编译,运行即可进行测试,运行效果如图4-39所示。
17)经测试可以发现,不论是输入任意文本按<Enter>键,还是输入文本后单击页面其他位置,触发的都是“onChange”对应的事件,如图4-40所示。
图4-39 运行效果
图4-40 触发事件效果
18)回到视图的属性,将文本框事件中的“onChange”动作清空,仅保留回车事件,如图4-41所示。
图4-41 修改事件属性
19)保存所有修改,并重新编译、运行之后,输入值并按<Enter>键即可触发对应的回车响应事件,如图4-42所示。
注:在项目实施过程中,一般回车事件使用的更多,如报表查询时用户经常提出输入有效值后回车即能看到结果,这时候开发人员就需要创建回车事件并且绑定与单击“查询”按钮相同的动作进行响应。
20)在Web Dynpro中,文本框也会随着所绑定的上下文类型进行一些特别的显示。例如,将上下文“Id”的类型从“String”字符串改为“date”日期,随后保存所有修改,并重新编、译运行,如图4-43所示。
21)文本框的右侧多了一个日历的小图标,单击即可弹出对应的日历控件进行日期选择,如图4-44所示。
图4-42 运行效果1
图4-43 运行效果2
图4-44 日历控件效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。