发信人: 263_syf()
整理人: kamkam(2002-05-01 23:51:19), 站内信件
|
lotus notes 5.0 开发技巧
1、lotus notes 5.0 数据库应用程序开发的合理顺序是怎样的?
答:开发 lotus notes 5.0 数据库应用程序的合理顺序是:
一、首先做好各个共享域、共享操作。
二、首先开发所有表单
三、其次开发所有视图
四、再次开发大纲
五、然后开发页面
六、然后开发框架集
2、如何在IE中显示视图的操作按纽?
答:要在IE中显示视图的操作按纽要做到三点:
一、操作必须有内容,即不能为空操作。
二、操作的公式必须正确,如果是错误的也显示不出来。
三、在视图的高级属性中必须起用小程序。
3、怎样在notes 或 IE 中显示时使用框架集?
答:要使用框架集则要做到三点:
一、首先创建框架集。
二、然后指定框架集中个框架的内容(内容可以是视图、大纲、或表单),并指 定目标帧。
三、在数据库的高级属性中指定在浏览此数据库时使用框架集,并指定框架集的 名字。
4、何时做大纲比较合理?
答:由于大纲是组织视图的,所以如果在作好大纲后并指定了各视图,以后你又 修改了视图
的名字,则大纲不能提取到所要求的某个视图,则大纲便会连所有其他内容也不 显示,
正常情况下,在页中嵌入一个已经存在的大纲时,会看到大纲的内容,如果大纲 有错误
(比如,所要求的视图名不存在了)则不会看到大纲的全部内容。所以如果你在 作好大
纲后有修改了视图名字,则建议把大纲删除掉,重新建立一个同名大纲。
5、为什么 有时 视图中的某些列在设置了分类属性后仍然象没有分类似的?但这 些列在IE中
显示分类却是正常的?
答:你的列属性设置是正常的,只是notes的设计刷新功能不健全,也就是你怎么 刷新都不
会把一些无用的信息去掉,这种情况下应该从新启动notes,如果还不行就要从新 启动
服务器,这样就肯定可以了。这种问题在notes的其他设计中也会遇到的。
6、如何在IE和Notes中都显示数据库的帧结构集?
答:这需要设置数据库的启动属性,在notes启动时设置为帧结构集,在IE中启动 时也设置
为帧结构集。
7、如何在IE中实现文档保存后返回视图?
答:要在IE中实现文档保存后返回视图需要作到两点:
一、在表单的“保存”操作中实现公式: @If(@Command([FileSave]);@Command ([FileCloseWindow]);@Return(""))
二、在表单中增加一个隐藏的保留域:$$return,其属性设置为计算文本。其值用 公式实现
为"[/" + @Subset(@DbName;-1)+"/"+"v_make_nowdept"+"?OpenView]" 其中
v_make_nowdept是个某个视图名。这样就能返回视图v_make_nowdept了。当然可 以用
@subset(@ViewTitle;-1)来取得打开某个文档时视图名字。但是当我们这样做时 发现:
在视图的“创建”操作进入表单时@ViewTitle的值却总是不能返回,这个问题还 有待于
进一步解决。
8、我使用了帧结构集,并且是双帧结构,左边是大纲,右边是视图,但我在点左 边的大纲项
时,右边相应的大纲项没有刷新,并且在IE中的创建内容在notes中不能完全显示 出来,在
notes中创建的内容也不能完全在IE中显示出来,这是为什么?
答:你肯定在大纲的属性中设置了“使用java小程序”的选项,当使用“使用ja va小程序”
选项时可以使大纲在IE中显示出和notes中一样的效果。而使用“使用HTML ”选 项时,
Domino将忽略大纲的“展开”图表,和大纲的背景而仅显示大纲的文本,但使用 “使用
java小程序”时,Domino在右边视图的刷新和“与notes保持同步”方面都不能正 确处
理,从而出现上述错误。所以建议目前使用大纲时其属性还是设置为“使用HTML "为
好。
9、我怎样使得每次双击某个文挡时都让文挡在右面帧中显示?
答:你应该在表单的属性中设置启动时在指定的帧中显示。
10、我怎样在阅读文档时隐藏表单的“保存”“发布”操作?
答:你应该在表单操作的安全属性页中设置当公式为真时隐藏操作,其公式一般 为:
!@IsDocBeingEdited|status="1"
11、我怎样在按某个视图打开文档后,用户按“返回”操作能返回相应的视图?
答:当你从某个视图打开文档后,相应的视图的名字就保存在公式@viewtitle中 ,所以返
回相应的使徒只需要让“返回”按纽“运行相应的打开视图的公式如:
@Command([OpenView];@If(@ViewTitle="";"v_make_nowdept";@Subset(@ViewTi t
le;-1)))
其中v_make_nowdept是某个视图的名字,你需要把他改成你的某个视图名字。
按理说IE和notes都支持公式,但实际上上述公式在IE中使用时没有问题,但在n otes
中使用时,有时会不能正确返回。
如果用javascript则只要简单的一句 history.back()即可实现返回,但javascr ipt
不被notes支持。即只能在IE中用。
如果使用公式 if(@Command([FileSave]);@Command([FileCloseWindow]);@Retu rn(""))
则可以在notes中正确实现返回,但这个公式在IE中有时不能正确返回,
综上所述,要既能在IE中实现准确返回和在notes中实现准确返回则必须创建两个 “返
回”操作
其中一个使用javascript,并在notes中隐藏。一个使用公式,并在IE中隐藏。
12、为什么我每次修改表单时,表格的相对位置都要从新调?
答:这是因为表格设置为自动后,系统在你每次修改表单是从新给出表格的大小 ,所以需
要每修改一次表单都要从新调一下表格的相对位置。
13、我不想在IE中显示视图的名称,我该怎么办?
答:你在建立视图时,要同时赋予该视图名称和别名,在所有工作作好以后,你 如果不想
在IE中显示该名称,则你应该用空格来取代原来视图的名称,Domino回自动寻找 别名
来匹配的。
如果你不去掉名称的话,在IE中浏览时Domino会自动把名称显示在视图的上方的。
14、我如何控制设计元素在IE中显示时,附加一些其他风格?
答:如果Domino允许该种元素在IE中浏览时附加其他风格,则在设计时在该种元 素的属性
里面会给你一个HTML属性页,你可以在该属性页里面添加其他HTML属性。
15、为什么我一点击某一大纲项,我的大纲就全没有了,取而代之的是一些没有 层次的视图名
称?
答:这种情况肯定是你的大纲所在帧的目标帧没有设置,你应该把他设置为你想 要连接的
那个帧,比如:一般情况下右边的 content 帧。
16、为什么我的RTF域在IE中浏览时看不到其中的内容?
答:有可能你把这个域放在表格中了吧!,如果放在表格中在IE中浏览时是看不 到其中的
内容的解决办法是把它放在表格外边即可。
也有可能你在该RTF域中设置了“使用java applet "的属性,但没有设置HTML属 性,
因为默认的HTML属性是RTF域的长、宽都为0,这样在浏览时是看不到的,所以你 应该
把它的HTML属性设置一下,比如:"HEIGHT=\"120\" WIDTH=\"600\""。
17、我怎样设计表单来跟踪文档的作者?
答:你可以在表单上加一个隐藏的共享域,其名字可以为 from 运行公式为:
@If(@IsNewDoc ; @UserName; From),这样这个域就记录了这片文档的作者了。
18、我怎样设计表单来跟踪文档是否已经发布?
答:你可以在表单上加一个隐藏的域,其名字可以为 status 类型为单选按纽, 初试值设
置为”0“。在你的表单的发布操作中加上一句 status="1"即可来表示此文挡已 经发
布。
19、我怎样控制文挡的操作权限?
答:对已经存在的文挡来说,权限分为编辑和阅读两种,你可以给表单增加一个 ”修改
“操作用以修改文档,(其运行公式为: @Command([EditDocument]))并设置该 操作
的隐藏属性为当公式为真时隐藏,这样你就可以设置当文档已经发布、目前的用 户不是
本文档的作者、用户不具备发布角色等任何一个条件满足时隐藏该操作,从而实 现对文
档修改权限的控制。典型的公式如:@IsDocBeingEdited|!@IsMember("[发布公
告]";@UserRoles)|status="1"|from!=@UserName
20、我如何在IE里面实现notes中的 对话框列表?
(即可以添加新的项目的列表框)
答:在notes中这种列表框是系统自身就有的,实现起来比较容易,但这个功能不 被IE所支
持,要在IE中实现该功能只能是采用另一种方式来仿效这种效果。
在IE中实现时,首先要把对话框列表的属性设置为不可添加新内容。(否则在IE 中不
能显示为列表框,而是编辑框),其次再增加一个文本编辑域。这个域用来输入 新的
项目,那么怎么才能让新的项目加入到列表框中去呢?这里用到一个小技巧,这 个技
巧首先被NOtes开发人员所使用:列表框中的项目要动态的从一个视图中提取它的 一个
已经分类的列,这个列实际上就是你的新输入项目所间接存取的域。
具体操作方法是:
一、对应于要在IE中实现的某个对话框列表域name,你再建一个对话框列表域we b_name,
但要把它的属性设置为不可添加新内容。
二、再建一个文本编辑域web_new_name。在name的属性设置中你要设置为“为选 项使用公
式”并把公式写为:@If(!@IsNewDoc & @IsDocBeingLoaded;@Unavailable;
@DbColumn("":"nocache"; ""; "视图名字";1))
三、在name的 input translation事件中 输入公式 @If(@ClientType = "Notes ";
@Trim(name); if(@Trim(web_new_name)="";@Trim(Web_name);@Trim(web_new_n ame)))
四、在web_name的属性设置中你要设置为“为选项使用公式”并把公式写为
@DbColumn("":"nocache"; ""; "v_bulletin_classsel";1)
五、在notes中隐藏web_name和web_new_name域。
------东海龙宫
http://syfang.yea h.net
-- 风中之箭
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.250.173]
|
|