? ? ? ?
? ?
虽然可用各种方式设计对话框表单,但三维布局区域必须尽可能地与对话框相似。3平方英寸的布局区域足够显示几个域及2到3个按钮。 在@DialogBox公式中,包含[AutoVertFit]和[AutoHorzFit]选项,可调整对话框的大小以适合于布局区域。
对于静态文本、域和按钮使用9号Helvetica字体。
将静态文本标签置于域的上端或左端,并以冒号结束(例如:名称:)。 将按钮置于表单底端。
“确定”和“取消”按钮自动显示在布局区域的右端。如果不希望显示“取消”按钮,请使用@DialogBox关键字[NoCancel]。如果不希望显示“确定”按钮,也不希望显示“取消”按钮,请使用[NoOkCancel]。
要使选项水平排列,请使用带有单选按钮和复选框域的多列显示选项;为帧结构选项使用“无”,这样选项就可融合在对话框背景中。
对于包含多个单词的按钮文本,请使用词首大写字母。对于可进入另一对话框或任务的按钮(例如:“Show Details...”),请使用省略号。
3.1.15.2 设计向用户提示信息的表单
可以设计使用@Prompt要求用户提供信息来填写文档的表单。该函数与@DialogBox
相似,但它比@DialogBox更简单。@Prompt只包含文本并且不能与其他表单交互作用。
1. 创建存储@Prompt公式的域、按钮、热点或操作。 2. 双击域、按钮或热点。
3. 在“编程”窗格中,选择“运行公式”。 4. 在“Script”域中输入使用@Prompt的公式。 5. 关闭并保存表单。 样例:使用@Prompt
[YesNoCancel]
这个公式在发送便笺之前向用户显示警告信息,并让用户选择“是”、“否”或“取消”。
Result := @Prompt([YesNoCancel]; \everyone listed in the To, CC, and BCC fields.\
[OkCancelEdit]
这个公式会将用户对提示的答复用来填写“姓名”域。缺省值是用户在Notes中的名称。如果用户选择“取消”,Notes会取消计算公式。
FIELD Name := @Prompt([OkCancelEdit]; \box below.\
[OkCancelList]
这个公式在称为“ComposeType”的临时变量中获得用户的答复,并使用合适的表单以此公式创建新的报告。
ComposeType := @Prompt([OKCancelList]; \
\Report\
@Do(@Command([Compose]; \3.1.15.3 设计允许用户从视图中进行选择的表单
可以设计使用@PickList从视图中显示选项列表的表单。下列步骤假定您已经创建了存储@PickList公式的域、按钮、热点或操作。
1. 打开表单。 2. 选择“查看”“操作窗格”,并双击操作或表单,单击域、按钮或热点。 3. 在“编程”窗格中,单击“公式”。
4. 使用@PickList和[Custom]参数编写公式,除非希望使用[Name]来显示Domino
目录或个人通讯录。 5. 关闭并保存表单。 使用@PickList
@PickList函数和@DbColumn一样,都可以查找视图中的值,但是@PickList函数可使用户从文档中挑选数值。这点类似于在表单中使用@Prompt,但是只特定地用于视图中。
@Picklist相对于使用@DbColumn或@DbLookup的公式有下列优点: ? 对数据没有64K的限制。
? 速度比@DbColumn或@DbLookup快。
? 允许用户输入一个条目的前几个字符在视图中快速查找。 样例
这个公式在对话框中显示PROD.NSF的Products视图:
choice:=@PickList([Custom] ; \\select the products you want to order\3.1.16 设计用于Domino记帐程序的表单
Domino记帐是跟踪服务器使用情况的一种服务器功能。Domino记帐程序只跟踪指定的文档。要指定需跟踪的文档,必须向创建文档的表单中添加下面的一个或两个隐藏域。
表3-4 域名 向表单中添加此域的结果 $ChargeRead 用户打开包含此域的文档时,Domino创建记帐记录 $ChargeWrite 用户创建、拷贝、编辑或保存包含此域的文档时,Domino创建记帐记录 指定对其进行记帐记录的文档
1. 在希望跟踪的表单中,创建名为 $ChargeRead或 $ChargeWrite的域。 2. 将域的类型设为“数字”。 3. 选择“货币”。 4. 在“隐藏”附签
中,对所有选项隐藏此域。
5. 为域分配成本价。
当用户读取或写入包含其中一个域的文档时,记帐任务提取域中的成本价并将其放在文档记帐记录中。 6. 保存表单。
注释 如果有许多需要进行记帐记录的文档,可以创建一个共享域并将其添加到多个表单中。如果一个数据库用模板更新了,可以修改模板以包括隐藏域。 3.1.17 为Web定制“表单已处理”确认信息
Web用户提交文档后,Domino使用缺省的“表单已处理”的确认信息回应用户。要重新设置缺省答复,可将计算文本域添加到表单中,给此域命名为$$Return,并使用HTML作为计算值来创建定制的批准。 显示个人化答复
下面的$$Return公式返回答复“Thank you”,并附加上用户姓名: who:= @If(@Left(From; \@Return(\
Main View\链接到另一页面
根据提交文档中的域值,在HTML中包括链接到另一页面的URL。下面的$$Return公式根据用户选择的范围返回答复。例如:如果用户选择欧洲,则消息“在意大利访问我们的站点”将显示一个链接,可链接到意大利的Web站点(假定公式中的“stdAnswer”和“stdFooter”已预先定义)。
@If(Region=\
Region=\
stdAnswer + stdFooter); 返回另一页面
要跳转到不同的Web页面,可将页面的URL用括号括起来放入页面。当用户提交
文档时,Web客户机将显示引用的文档。例如:下面的$$Return公式显示Lotus日本站点的主页。
\3.1.18 定制搜索表单
可定制“网络域搜索”表单以满足组织的需要。用于“网络域搜索”的表单有SearchForm、SeachResults、ResultEntry和DetailedResultEntry,它们位于“目录(R5.0)”模板中。要定制表单,可基于模板创建数据库,或将表单拷贝并粘贴到网络域目录中(此网络域目录在用于“网络域搜索”的Domino服务器上)。
如果定制在Web上使用的搜索表单,请参考下表。表中列出了Search Query表单上使用的URL命令,以便通过SearchDomainURL进行最初的搜索。这些命令也用于结果页面上,以供结果表单上的按钮和热点使用。例如:在最初的搜索表单上,可以指定&SearchOrder=2。SearchOrder域在结果页面中的值将等于2。结果表单上的“下一个”按钮可使用此域值来搜索下一页面或通过指定其他的域值进行重新设置。
虽然可为某些域指定TRUE和FALSE两种域值,但这些域值进入结果页面时均为1或0。
表3-5
URL命令 描述 缺省值 Query 搜索字符串 无 SearchMax 总共能返回项目的最大数目;0=无 不受限制 SearchWv 包括单词变量:TRUE(或1)TRUE 或FALSE(或0) SearchOrder 1 1=按相关性 2=按日期升序 3=按日期降序 SearchThesaurus 使用同义词:TRUE(或1)或FALSE FALSE(或0) (R5搜索引擎忽略此选项) 续 表 SearchFuzzy 使用模糊搜索:TRUE(或1)FALSE 或FALSE(或0) SearchEntry 用于每个结果项目的表单名称 “ResultEntry” Start 开始文档以翻开书页;0=未翻开0 书页 Count 返回翻开书页的页数;0=未翻开0 书页 Scope 0 搜索范围: 1=限于Notes数据库 2=限于文件系统 0=都包括 如果正在定制用于Notes客户机的搜索表单,则需要使用FTDomainSearch成员函数。
3.1.18.1 定制搜索结果表单
搜索结果可使用SearchResults表单、ResultEntry和DetailedResultEntry表单来显示。SearchResults表单定义每个结果页面的布局。ResultEntry和DetailedResultEntry表单定义页面中单个结果的格式,并且返回的每个结果均重复此格式。在Web中,可以通过SearchEntry域/参数指定此表单的名称。下面是用于ResultEntry和DetailedResultEntry表单的域。
表3-6
域名 描述 DSCreationTime 文档的创建时间 DSModifiedTime 文档的修改时间 DSURL 指向文档的URL DSDBTitle 数据库标题 DSDocSummary 文档摘要 DSDocTitle 文档标题 DSDocAuthor 文档作者 DSScore 相关得分 DSSServer 用于索引文档的服务器名称 DSType “0”表示Notes文档,“1”表示外部文档或文件系统文档 可用希望的任何名称命名结果表单,然后在SearchDomain URL中指定选定的名称或将名称指定给FTDomainSearch LotusScript呼叫。如果没有在URL中命名一个表单,Web将查找名为$$SearchDomainTemplate的表单。
3.1.18.2 如何使用SearchResults和ResultEntry/DetailedResultEntry表单
将此LotusScript附加到搜索表单上供Notes客户机使用的“搜索”操作热点的click事件中。呼叫结果表单和结果项目表单的名称的行以粗体显示。
Sub Click(Source As Button) Dim s As New NotesSession Dim db As NotesDatabase Dim w As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim q As String Dim l As Integer Dim d As Integer Dim sort As String