超出Canvas的范围
编译时的错误提示
4 Form 常用对象设计
4.1 日历Calendar的使用
这是在TEMPLATE.fmb里面内置的对象,可以看到,Form里面包含Calendar Window、Calendar Canvas、
21
Calendar Data Block以及一些Trigger、Attached Libraries等。
4.1.1 设置Item的LOV属性
注意:请务必选择No
如果需要日期验证,请把Item的Data Type属性设置为Date
请注意:这个地方的Validate from list请务必选择No,否则会出现你选择了日期之后弹出一个LOV让你对输入的日期验证,只要你设置Data Type为Date,会自动验证你输入的字符是不是一个合法的日期格式
4.1.2 增加Item Trigger KEY-LISTVAL
一定要写,大小写不敏感
这样你就可以在你的Form上面看到,光标落入该Item后,就可以弹出一个(下左图)
22
4.1.3 设置Calendar.Show的参数
calendar.show是可以带参数的,缺省值就是当前天(可以打开Attached Libraries->APPDAYPK->Calendar)。其参数就是该日历的缺省Date
例如:calendar.show(to_date('2004-12-25','YYYY-MM-DD')); 那么弹出来的就是上面右图的样式
4.2 LOV(List of Value)设计
LOV一般都是和Item联系在一起,是方便Item取值,验证数据的一种方法. Calendar就是Oracle内置的一个LOV
23
4.2.1 设置Record Group
<1>、选择Record Groups <2>、选择Create <3>、在弹出的对话框中选择Based on zhe query below并且输入你的SQL语句
如果在此之前你没有用File->Connect来连接到某个DataBase,就会弹出如下的对话框:
设置完成后修改该对象的Name(VENDOR_NO)
24
4.2.2 增加LOV
<1>、选择LOVS <2>、选择Create <3>、选择Build a new LOV manually
4.2.3 设置LOV的属性
点击 OK 之后修改LOV的几个属性: Name: Title:
Record Group: 选择你建立的Record Group
Filter Before Display: Yes:必须输入条件才能有记录出来(以%来匹配)
No :如果没有条件则显示所有记录。
Automatic Display:
Yes:等价于:
就如动态填充下拉列表数据项是,将填充代码写到
Automatic Refresh: 是否每次执行记录组查询
当只有唯一一条记录是直接接收返回值,而无须弹出LOV让用户做毫无选择的选择。 Yes:关闭LOV后光标跳到下一个Item No:关闭LOV后光标仍然停留在本Item上面
25