精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 群件>>个人专集>>263_syf>>lotus notes 5.0 开发技巧 20例

主题:lotus notes 5.0 开发技巧 20例
发信人: 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]

[关闭][返回]