壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2443|回复: 12

[Domino C/S开发] lotus notes 5 开发技巧

[复制链接]
发表于 2003/3/26 13:54:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
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小程序”的选项,当使用“使用java小程序”

选项时可以使大纲在IE中显示出和notes中一样的效果。而使用“使用HTML ”选项时,

Domino将忽略大纲的“展开”图表,和大纲的背景而仅显示大纲的文本,但使用“使用

java小程序”时,Domino在右边视图的刷新和“与notes保持同步”方面都不能正确处

理,从而出现上述错误。所以建议目前使用大纲时其属性还是设置为“使用HTML "为

好。

9、我怎样使得每次双击某个文挡时都让文挡在右面帧中显示?

答:你应该在表单的属性中设置启动时在指定的帧中显示。

10、我怎样在阅读文档时隐藏表单的“保存”“发布”操作?

答:你应该在表单操作的安全属性页中设置当公式为真时隐藏操作,其公式一般为:

!@IsDocBeingEdited|status="1"

11、我怎样在按某个视图打开文档后,用户按“返回”操作能返回相应的视图?

答:当你从某个视图打开文档后,相应的视图的名字就保存在公式@viewtitle中,所以返

回相应的使徒只需要让“返回”按纽“运行相应的打开视图的公式如:

@Command([OpenView];@If(@ViewTitle="";"v_make_nowdept";@Subset(@ViewTit

le;-1)))

其中v_make_nowdept是某个视图的名字,你需要把他改成你的某个视图名字。

按理说IE和notes都支持公式,但实际上上述公式在IE中使用时没有问题,但在notes

中使用时,有时会不能正确返回。

如果用javascript则只要简单的一句 history.back()即可实现返回,但javascript

不被notes支持。即只能在IE中用。

如果使用公式 if(@Command([FileSave]);@Command([FileCloseWindow]);@Return(""))

则可以在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,你再建一个对话框列表域web_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_name)))

四、在web_name的属性设置中你要设置为“为选项使用公式”并把公式写为

@DbColumn("":"nocache"; ""; "v_bulletin_classsel";1)

五、在notes中隐藏web_name和web_new_name域。
发表于 2003/12/29 09:18:55 | 显示全部楼层
关于Lotus C API for domino,请推荐参考书!!!先谢了!
发表于 2004/3/11 21:54:14 | 显示全部楼层
/加油
发表于 2004/4/1 17:01:23 | 显示全部楼层
好贴~受教了~
发表于 2004/4/6 11:28:40 | 显示全部楼层
大家一起加油呀!
发表于 2004/4/28 12:02:38 | 显示全部楼层
谢谢了。..
发表于 2004/7/2 09:29:31 | 显示全部楼层
真我所爱也!/道谢
发表于 2004/12/29 11:18:39 | 显示全部楼层
发表于 2005/1/5 17:51:15 | 显示全部楼层
谢谢了!!!
发表于 2005/1/11 11:18:14 | 显示全部楼层
好贴.
发表于 2005/3/1 09:20:20 | 显示全部楼层
太感谢了!
发表于 2005/3/15 16:35:22 | 显示全部楼层
厉害!
谢谢啦!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 07:23 , Processed in 0.025396 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表