domino设计表单和页面.docx
《domino设计表单和页面.docx》由会员分享,可在线阅读,更多相关《domino设计表单和页面.docx(75页珍藏版)》请在冰点文库上搜索。
domino设计表单和页面
第三章设计表单和页面
本章描述如何设计表单和页面。
3.1设计表单
表单和页面一样,也可以显示信息。
在页面中可以完成的事情在表单中同样可以完成。
表单与页面的区别在于:
表单可以用来收集信息。
表单提供了用于创建和显示文档的结构,而文档是数据库中保存数据的设计元素。
当用户向表单中填入信息并进行保存时,此信息就作为文档保存。
当用户打开该文档时,该文档将把该表单作为模板来提供显示数据的结构。
下面是设计表单的基本步骤:
●要确定所需表单的用途和类型,应考虑:
要收集的信息种类和需要的元素
如何显示以及在何处显示结果文档,此文档要包含并显示收集的信息。
●创建表单
●向表单中添加元素
●命名表单
●指定表单属性
●在用户访问表单所使用的浏览器中预览和测试表单
3.1.1表单元素
表单元素是用于创建表单外观和功能的组件。
同页面一样,表单可以包含:
●文本
文本通常用于标注域,以便用户了解每个域的用途。
●水平基准线
添加水平基准线以分开表单的不同部分,或者用以增强表单的可视性。
●表格
使用表格可以概括信息和使各个元素(例如:
域和图形)按行或列排列。
如果在表单中放置了表格,那么通过该表单创建的每个文档都将显示该表格。
●区段
区段是在表单中定义的可折叠和展开的区域。
其中可以包括域、对象、布局区域和文本。
存取受控制的区段只允许特定的用户编辑此区段中的域。
●图形
如果在表单的任何位置放置了图形,则通过该表单创建的每个文档都将显示该图形。
例如:
在用于通信的表单中,在表单上端放置公司标志就可以创建印有抬头的信笺。
●图像映射
图像映射是使用可编程热点增强的图形,当用户单击这些热点时,可以执行一些操作。
在应用程序中通常把图像映射作为导航结构来使用。
●链接
在表单中,可以添加到数据库、视图、特殊文档的链接,也可以添加打开Internet页面的URL链接。
●自动功能
表单操作、按钮或热点会自动执行简单或复杂的任务。
●小程序
使用Java小程序在表单中包含小程序,例如,动画图标或独立的应用程序。
●附件
可以附加文件到表单中,这样用户就可以从使用该表单创建的文档中把文件拆离到本地或启动文件。
●嵌入元素
在表单中可以嵌入以下元素:
大纲、视图和文件夹窗格、引入的导航器和日期采集器。
单独或联合使用这些元素可以控制用户如何在应用程序中导航。
●HTML
如果已有HTML或愿意使用HTML,则可以在页面中使用HTML。
可以通过把HTML引入或粘贴到表单中来使用现有的HTML,或者编写自己的HTML。
此外,表单还可以包含:
●域
域是用于收集数据的设计元素。
只有在表单上才能创建域。
表单上的每个域保存一种类型的信息。
域的“域类型”定义了该域可以接受的信息种类。
域可以放在表单的任意位置。
●子表单
子表单是表单元素的集合,并作为一个单独的对象来保存。
子表单可以作为表单的永久部件,或者可以根据公式的结果有条件地显示。
使用子表单可以节省重新设计的时间。
如果更改子表单的某个域,则用到该子表单的每个表单都会做更改。
子表单的一般用法包括:
向商务文档中添加公司标志,或向邮件和便笺表单中添加邮寄标签信息。
●存取受控制的区段
可以通过创建存取控制列表限制对区段的访问。
●布局区域
表单或子表单中的布局区域是固定长度设计区域。
在该区域中,可以方便地拖动和移动相关元素,并且可以采用在常规表单和子表单中无法实现的方法来显示相关元素。
在布局区域中可以包含静态文本、图形、按钮和除RTF文本域之外的所有域。
在一定条件下,可以隐藏或折叠布局区域及其所有组件。
Web应用程序不支持布局区域。
●嵌入元素
文件上载控件和需要编程支持的群组日程安排等嵌入元素只能在表单中使用。
3.1.2表单和文档
当用户创建表单并向其中填写信息后进行保存时,此信息就作为文档保存。
当用户打开该文档时,该文档将把该表单作为模板来提供显示数据的结构。
在设计表单时,应该考虑要在何处显示以及如何显示结果文档。
表单保存在创建此表单的数据库中,用来显示所有相关联的文档。
然而,用户经常会把文档邮递到一个数据库,而此数据库不包含创建该文档所用表单。
在这种情况下,可以指定将表单保存在由此表单创建的每个文档中。
将表单存储在文档中将占用更多内存。
当用户打开文档时,Domino运用以下规则确定使用哪个表单显示该文档:
表3-1
条件
用于显示文档的表单
如果用于创建文档的表单可用并且在文档中没有存储表单,也不存在表单公式
用于创建该文档的表单。
原始表单名存储在文档的一个名为Form的隐藏域中。
要找到该域的值,可以检查“文档属性”框的“域”附签。
如果表单保存在文档中
保存在文档中的表单(如果表单存储在文档中,则表单名将存储在名为$Title的内部域中)。
如果视图包含表单公式
表单由视图的表单公式决定。
如果用于创建文档的表单在数据库中不可用
数据库的缺省表单。
每个数据库只能有一个缺省表单,在表单列表中使用箭头标记出该表单。
3.1.2.1在每个文档中保存表单
在每个文档中保存表单,使得即使在数据库中的表单丢失、重命名或删除的情况下仍然可以正确显示文档。
这一特性占用更多的系统内存,需要的磁盘空间可能是原来的20倍。
而且由于没有更简便的方法更新所有存储的表单拷贝,所以如果要更改表单的设计,将增加额外的工作。
鉴于以上原因,仅在以下情况下才在文档中存储表单:
●要向其中邮递或粘贴文档的数据库不包含原始表单拷贝。
●要向其中邮递或粘贴文档的数据库与原始表单使用不同别名。
●表单包含嵌入式OLE对象或下标,并且希望文档能够反映这些对象的任何更改。
●选择了“表单属性”框的“搜索方式构造器”,并且希望表单的静态文本是可搜索的。
●由该表单创建的文档存储为压缩数据库并且邮寄到cc:
Mail用户。
在每个文档中保存表单
1.打开表单。
2.选择“设计”“表单属性”。
3.单击“表单信息”附签
。
4.选择“在文档中存储表单”。
5.在属性框的下拉列表中转换到“数据库属性”并选择“允许在此数据库中使用预先存储的表单”。
重设预先存储的表单
如果表单存储在文档中,则表单名将存储在名为$Title的隐藏域中。
附加的信息存储在$Info、$WindowTitle和$Body域中。
要使用不同的表单显示该文档,可以创建代理删除预先存储的表单信息并指定由另外的表单显示该文档。
与预先存储的表单共享域和文档
如果表单包含共享域,则在实际存储于文档内的表单拷贝中,将该域转换为专用域。
这样可以确保当文档拷贝存储在不包含共享域定义的数据库中时,该域仍然可以使用。
在原始表单中,该域仍旧被定义为共享域。
3.1.2.2表单公式
要重新设置缺省的表单选择,可以为特定视图编写表单公式。
例如:
可以编写一个表单公式,当用户依次编辑文档或不同的表单时,此公式使用一个表单来显示所有的域;或当用户阅读文档时,此公式忽略某些域。
由于表单公式只适用于一个特定视图,所以在其他视图中创建的文档不使用该表单公式。
指定数据库的缺省表单
6.打开“表单属性”框。
7.单击“表单信息”附签
。
8.选择“缺省数据库表单”。
3.1.2.3存储表单的另一种方法
作为文档中存储表单的另一种方法,用户可以使用LotusScriptSend成员函数来设计可随文档邮寄的表单。
这样可以确保数据库拥有正确的表单来显示文档而不必在每个文档中存储表单。
3.1.3创建表单
要创建表单,就必须在数据库的存取控制列表中至少具有“设计者”存取级别。
如果所需的表单与同一个数据库、另一个数据库或Designer模板中已有的表单相类似,则可以复制并粘贴该表单,然后对它进行更改。
如果现有的表单都不能满足您的需要,则需要新建表单。
3.1.3.1新建表单
9.在打开的数据库中,在“设计”窗格中单击“表单”并单击“新建表单”按钮。
10.设计表单。
在表单中创建域、文本和其他元素。
11.选择“设计”“表单属性”来指定名称和其他表单属性。
3.1.3.2拷贝现有的表单
12.在“设计”窗格中,单击“表单”。
13.在“工作”窗格的表单列表中,选择要拷贝的表单。
14.选择“编辑”“拷贝”把表单拷贝到剪贴板。
15.打开要拷贝此表单的数据库,然后在“设计”窗格单击“表单”。
16.选择“编辑”“粘贴”把该拷贝粘贴到目标数据库的表单列表中。
如果从不同的数据库拷贝表单,则诸如共享域定义和共享图像之类的资源不随拷贝的表单一同发送。
必须分别把资源拷贝到新数据库中以避免错误消息。
3.1.3.3特殊类型的表单
有几种为特殊用途而创建的表单。
●简要表表单
●提示用户输入的表单
●用于Domino记帐程序的表单
3.1.3.4删除表单
当用户不再需要某表单时就可以将其删除。
删除表单后,由该表单创建的文档显示时将用缺省表单代替。
删除表单后,为防止用户打开现有文档时看到无法找到表单的消息,可以创建代理重新指定表单名称。
17.打开数据库。
18.在“设计”窗格中单击“表单”。
19.选择要删除的表单。
20.按DEL键或选择“编辑”“清除”。
3.1.4设计表单的提示
在表单中放置元素
●使用标尺来设置制表符和放置元素。
选择“查看”“标尺”来查看当前段落设置。
●使用表格对齐表单上的元素。
嵌套的表格能够很精确地控制如何显示内容。
此外,还可以使用表格创建一些文本效果,例如:
图片周围文本的自动换行。
●组合相关的信息。
使用区段来满足审批和其他特殊的存取需要。
创建子表单,它可以将在多个表单用到的设计元素分组。
●当为一个应用程序设计多个表单时,在相同的位置,使用相同的次序定位特定的域,特别是诸如名称、部门、当前日期和截止日期之类的数据。
●将隐藏域集中在一起放置在表单的顶部或底部。
为隐藏域设置其他的文本颜色。
●计算域是按从上至下,从左至右的顺序计算的。
将由其他域值决定其值的域放置到决定其值的域后面。
一些问题常常是由于忘记这个规则引起的。
●仅在表单顶部使用居中的文本。
如果在表单的下面使用有可能会丢失。
●在元素间使用一致的间隔,避免信息拥挤在一起。
●隐藏用户在编辑、阅读或打印时不需要看到的元素,特别是在打印时要隐藏不重要的图形。
●提供操作和热点以便用户更快捷地执行操作。
●使用可折叠的区段来组织表单,使用户更容易地查看所需信息。
设置区段属性使之在某种情况下展开,在另一种情况下折叠。
3.1.5命名表单
数据库中的每个表单必须具有唯一的名称。
如果从数据库中拷贝表单并粘贴到同一数据库中,那么Designer将自动在该表单的名称前追加“拷贝”以保证名称的唯一性。
如果要创建多个包含相同信息的数据库,则应该对相应的表单使用相同的名称。
标准名称使得用户能够认出通常使用的表单;标准名称也使得拥有相似数据库的用户能够更方便地通信。
例如:
假设有四个客户跟踪数据库,每个地区的销售办公室有一个。
如果南区的管理员希望与西区的管理员讨论共享帐户,那么两个管理员都应该了解什么是“公司简要表”文档。
要命名或重命名表单,请选择“设计”“表单属性”并输入表单名称。
命名要求
●名称是区分大小写的,可以是字符(包括字母、数字、空格和标点)的任意组合。
●完整的表单名(包括所有的同义名和层次名称)不能超过256字节。
如果正在使用多字节字符,256字节与256个字符是不同的。
●只有表单名称的前64个字符显示在“创建”菜单中。
3.1.5.1创建别名
表单可以具有其他名称(别名)。
使用别名,则不必重新编写引用表单名称的每个公式就可更改显示在“创建”菜单中的表单名称。
如果表单名称被转换,那么可以使用别名把现有文档重新指定给新表单,然后重新编写公式或重新指定文档。
表单名和别名是用竖线|分隔的。
如果表单只有一个名称,它将显示在“创建”菜单中和文档的FORM域中。
如果表单具有两个或者更多的名称,则总是它的第一个(最左边的)名称出现在“创建”菜单中,而最后一个(最右边的)名称(典型的别名)将出现在FORM域中。
通常由于转换的缘故,表单有时可以有多个名称。
在这些情况下,位于中间的名称将被忽略。
只要别名不变,文档就会使用原始表单来显示,并且所有涉及该表单的公式也将继续有效。
添加别名
●选择“设计”“表单属性”。
●在属性框的名称域,在所有其他名称的右侧添加|(竖线)。
在下面的样例中,Interview是别名,而MainTopic是原名称:
MainTopic|Interview
3.1.5.2表单名称和键盘快捷键
Windows用户可以通过键入键盘快捷键(带下划线的字母)来快速选择相应的菜单条目。
如果每个表单以不同的字母开头,那么很容易在“创建”菜单上看见该表单的键盘快捷键。
要指定键盘快捷键,请在要使用的字母前键入下划线(_)。
每个键盘快捷键在表单列表中必须是唯一的。
例如:
要把“v”作为Interview表单的键盘快捷键,请输入如下名称:
Inter_view
3.1.5.3排列“创建”菜单上表单的顺序
表单能够为用户创建的文档组织数据。
在Notes客户机应用程序中,用户可以从“创建”菜单中选择表单来创建新文档。
“创建”菜单上的表单名是按字母顺序排序的。
要使表单按不同的顺序显示(例如:
要使使用最频繁的表单第一个显示),可以通过用数字或字母给表单编号的方法使表单按正确的顺序排列。
如果在数据库中有较多的表单,那么在创建菜单中可能显得过于拥挤,可以设计一个层叠式的菜单结构来将相关的表单分组显示在一个菜单项下。
邮件(R5)模板使用层叠的特殊便笺表单。
当用户选择“创建”“特殊便笺”时他们将看到以下选项:
特殊便笺\书签
特殊便笺\电话消息
特殊便笺\传阅便笺
3.1.5.4在Notes客户机上创建层叠式菜单
21.打开表单。
22.选择“设计”“表单属性”。
23.在表单名称框中,输入要在最高级菜单中显示的菜单项名称,然后接着输入\(反斜线)和表单名称。
如果要定义层叠式表单的别名,那么请把别名插入到表单名之后。
例如:
在ServiceRequest\Hardware|HW中,HW就是别名。
24.要确保“包含在:
”“菜单:
‘创建’菜单”选项被选中。
3.1.5.5在Notes客户机中把表单移到“创建”“其他”菜单中
如果不希望表单被频繁使用,那么可以把它移到“创建”“其他”对话框中以缩短主“创建”菜单中表单的列表。
25.打开表单。
26.选择“设计”“表单属性”。
27.选中“包含在:
”,然后选择“菜单:
‘创建’‘其他’对话框”。
3.1.5.6在Notes客户机上将表单从“创建”菜单中删除
把表单从“创建”菜单中删除将对所有用户隐藏该表单。
例如,邮件模板隐藏了NonDeliveryReport和ReturnReceipt表单因为只有Notes邮件路由器使用它们。
为了与Notes的早期版本兼容,在给一个将从“创建”菜单中删除的表单命名的时候,请用圆括号将表单名括起来。
28.在“表单属性”框中取消选定“包含在:
”“菜单”。
29.保存表单。
如果希望只对某些用户隐藏表单,则使用创建存取列表。
3.1.5.7隐藏表单
另一种从“创建”菜单中删除表单的方法是隐藏表单。
可以指定隐藏或显示表单的条件。
例如,可以对Notes客户机隐藏表单,而为Web客户机显示该表单。
30.关闭要隐藏的表单。
31.在“设计”窗格,单击“设计”窗格中的“表单”。
32.在表单列表中选择要隐藏的表单。
33.选择“设计”“设计属性”。
34.单击“设计”附签
。
35.选择隐藏选项。
3.1.6使表单可用于Web浏览器
在Web应用程序中,用户没有访问Notes菜单结构的权限,因此必须为用户提供一种创建和编辑文档的机制。
例如:
可以设计一个视图操作使用户可以用来创建文档,还可以在表单上设计一个按钮来编辑文档。
下图比较了新文档在对NetscapeNavigator用户和对Notes用户显示时外观之间的差异。
图3.1
图3.2
使表单可用于Web用户
必须使用下面的方法使Web用户能够使用表单创建文档,而且此方法在Notes应用程序中同样有效。
36.在表单中添加按钮、操作或热点。
37.在“编程”窗格中,选择“Click”事件并使用公式或Script对此事件编程,通过此事件创建该表单的文档。
例如:
使用下面的公式可以打开当前数据库中新的MainTopic文档:
@Command([Compose];"MainTopic")
使用下面的公式可以填写当前数据库中的文档:
@Command([Compose];"formname")
使用下面的公式可以填写另一个数据库中的文档:
@Command([Compose];"":
"database";"formname")
3.1.7选定的表单属性
可以使用“表单属性”框来设置表单属性。
3.1.7.1打开“表单属性”框:
38.打开表单。
39.选择“设计”“表单属性”。
3.1.7.2保护匿名作者/编辑者
如果希望文档的作者或编辑者保持匿名的身份,那么可以定义一个不记录创建者或编辑者姓名的表单。
要完全匿名,就要确保作者的姓名不在文档的其他位置出现,例如:
在可见的计算域中。
●请在“表单信息”附签
上,选择“匿名表单”。
3.1.7.3合并复制冲突
当不同场所的用户编辑同一文档时,则会发生复制或保存冲突。
其中一个版本将成为主文档,而其他版本则将成为冲突文档并在视图中被标上菱形标记。
可以设计一个表单使其将复制冲突合并到单一文档中合适的位置。
这样,当两个用户在同一个文档中编辑不同的域时,Domino就可以将对每个域所做的编辑保存到一个文档中。
然而,如果两个用户在同一个文档中编辑同一个域,那么Notes将把其中一个文档保存为主文档而另一个文档则被标记为复制冲突并保存为答复文档。
●请在“表单信息”附签
上,选择“合并复制冲突”。
3.1.7.4自动以编辑模式打开文档
为了用户使用方便,可以指定由表单创建的文档在打开时自动处于编辑模式下。
●请在“缺省”附签
上,选择“打开时:
自动允许编辑模式”。
3.1.7.5生成隐藏域的HTML
如果选中此属性,则会产生关于该表单中隐藏域的HTML信息。
这使得Web应用程序中的文档行为与Notes应用程序中的文档行为更加接近了。
例如:
创建一个依靠隐藏域计算的表单,但某些情况下,在Web应用程序中该表单不会按预期的方式运行。
为隐藏域产生HTML之后,Domino就可以利用产生的信息成功地完成计算。
为隐藏域产生的HTML也可以通过JavaScript来访问,所以可以使用Script来更改隐藏域的值或查看隐藏域的状态。
选中此选项将创建更大的Web文件并会降低应用程序的性能。
请考虑到安全性:
虽然隐藏域中的信息在浏览器中不可见,但是通过浏览器中的“查看源文件”菜单项却可以看到。
要生成隐藏域的HTML,请在“缺省”附签
上的“Web访问:
”区段中,选定“产生所有域的HTML”选项,取消选定“将文档内容作为HTML”选项。
3.1.7.6定义表单上的页眉
如果正在设计Notes应用程序中使用的表单,可以定义:
当用户向下滚动表单或由此表单创建的文档时,页眉不滚离屏幕。
例如:
在Notes邮件模板中,页眉显示了包含在邮件发件人和收件人域中的所有信息。
滚动邮件消息时,页眉部分将保持不动。
页眉可以包含表单中可以包含的任何元素。
唯一值得注意的是表格不能作为页眉的第一个元素;它前面必须有文本对象,即使该文本对象是空的。
40.在表单的页眉区域输入文本、图形、表格或其他需要的元素。
41.将光标移到要开始显示页眉的线条的下面。
42.选择“设计”“表单属性”。
43.在“页眉”附签
上,单击“向表单中添加页眉”划分出页眉区域。
44.设置页眉的显示属性。
●高度可以按像素或与表单高度的百分比来设置。
●选择滚动选项。
当页眉的内容超过所分配的空间时,可以自动开启滚动功能。
●“允许调整大小”使用户可以调整页眉区域的大小。
●“边框”可以控制表单上页眉和正文之间分隔线的显示。
可以更改线的粗细和颜色。
可以通过设置宽度为零关闭边框。
3.1.7.7在页眉中显示图形
要在页眉中显示图形,请给表单添加背景图形。
该图形将只作为页眉的背景。
请注意:
如果这样做,那么表单的其余部分将是空白的而且无法显示其他背景图形。
3.1.7.8创建打印页眉和页脚
可以定义页眉和页脚将打印在使用此表单创建的所有文档上。
Web应用程序不支持页眉和页脚。
45.在“打印”附签
上,单击“页眉”并键入页眉内容,或者单击“页脚”并键入页脚内容。
46.单击图标则可以添加页号、日期、时间等等。
47.(可选)为页眉或页脚的文本指定字体、字号和样式。
3.1.7.9页眉和页脚对齐
页眉和页脚有三种预先设置的、常用的制表位:
左、居中和右。
当插入一个制表符时,制表符左边的文本将左对齐,制表符右边的文本将右对齐。
插入两个制表符,则第一个制表符左边的文本向左对齐,在两个制表符中间的文本将居中对齐,在第二个制表符右边的文本将向右对齐。
例如:
&D|&T|&P日期左对齐,居中对齐时间,页号右对齐。
|URGENT|居中对齐文本URGENT。
||URGENT文本URGENT右对齐。
3.1.8创建答复层次结构
如果创建一个应用程序,该程序要求用户创建文档,然后可以邮寄对文档的答复和答复的答复,则需要在表单之间构造层次。
可以指定三种类型的表单:
●主题表单表单层次的最高级。
可以没有或有多个相关的答复表单。
●答复表单创建主文档的答复文档。
当用户写完答复之后,在视图中,答复文档将显示在突出显示的主文档的下面。
设计者通常创建从主文档继承数据的答复文档。
例如:
主题的标题。
●答复的答复表单创建主文档或答复文档的答复文档。
使用表单创建的文档通常是主(父)文档,除非将其指定为创建答复文档的表单。
3.1.8.1指定“答复”或“答复的答复”表单
48.打开表单。
49.选择“设计”“表单属性”。
50.在“表单信息”附签上,执行以下操作之一:
●选择“答复”类型以使表单用于创建主文档的答复文档。
●选择“答复的答复”类型以使表单用于创建主文档或其他答复文档的答复文档。
3.1.8.2在新文档中继承父文档
为方便用户查找相关文档,文档可以将父文档或相关文档作为链接、可折叠的RTF文本或RTF文本继承下来。
例如:
一个新答复文档中可以包含到其主文档的链接。
链接要比包含父文档的完整的或折叠的内容所占用的磁盘空间少,因为Domino只保存指向文档的指针而不是保存文档的拷贝。
一旦启用了继承功能,则当用户选择“创建”“<表单名称>”时无论选中的是哪个文档,该文档都将成为父文档。
文档之间不需要有主文档/答复文档的关系,无论选中的文档是哪个文档,都将被认定为父文档。
用户可以在选择“创建”时通过按CTRL键取消继承。
51.打开表单。
52.创建一个新的RTF文本域以显示文档或链接。
53.选择“设计”“表单属性”。
54.单击“缺省”附签
。
55.选择“创建时:
继承所有选定的文档为RTF”。
56.选择或输入第2步中所创建的RTF文本域的名称。
57.选择以下选项之一:
●链接
●可折叠的RTF文本
●RTF文本
58.(可选)选择“打开时: