如何在Combobox Domino designer(lotus脚本)中关联id和它的值
How to associate id and its value in Combobox Domino designer(lotus script)
我是 Domino 设计器和 Lotus 脚本的新手,
我有一个表单,其中有一个组合框,在组合框中我有一个组合框的公式:
(@DbColumn("" : "NoCache"; ""; "myview"; 2)
现在我要关联ID和它的名字
Example : id :1 name(to display in combo) :Benz
id :2 name : Fiat
id :3 name : Yamaha
现在我的组合框必须只显示 fiat,yamaha,benz 但必须保存相应的 id(不是名称)
目前我只显示名字和保存名字(我想link它到id)
我怎样才能做到这一点?
您的视图需要包含 Name|ID 格式的值(这是一个竖线符号)才能实现您想要的效果。
列值:
Benz|1
Fiat|2
Yamaha|3
对您的评论的回应:最佳做法(性能方面)是,使用公式 Name + "|" + ID
在您的视图中创建一个单独的列(如果您使用用户视图和 DBColumn,则可以隐藏它,顺便说一句,什么是不好的做法)。
如果您不想这样做,那么您的公式可能如下所示:
_names := @DbColumn("" : "NoCache"; ""; "myview"; 2);
_ids := @DbColumn("" : "NoCache"; ""; "myview"; 1);
_names + "|" + @Text(_ids)
如果您曾经了解 Notes 的工作原理,那么您真的应该接受 Lotus Notes Design 方面的培训,因为这些都是基础知识。
上面的公式在很多方面都不好:
- "NoCache" 的使用是真正的性能杀手。不要在大型应用程序中这样做
- 进行两次查找而不是一次查找会使您的响应时间加倍
- 每次查找都必须进行错误处理,否则如果出现错误,您的表单将无法再打开。
- 如果您的 DBColumn 的 return 数据超过 32k(大型列表),由于 Lotus Notes 中的字段限制,这整个事情都会失败
一个 "best practice" 方法(忽略可能的 32k 错误)是:
使用公式 Name + "|" + ID
创建一个包含(隐藏的)第三列的视图
使用此代码:
_view := "myview";
_col := 3;
_lkp := @DBColumn( "" : "Cache" ; "" ; _view; _col );
@If( @IsError( _lkp ) ; "" ; _lkp )
我是 Domino 设计器和 Lotus 脚本的新手,
我有一个表单,其中有一个组合框,在组合框中我有一个组合框的公式:
(@DbColumn("" : "NoCache"; ""; "myview"; 2)
现在我要关联ID和它的名字
Example : id :1 name(to display in combo) :Benz
id :2 name : Fiat id :3 name : Yamaha
现在我的组合框必须只显示 fiat,yamaha,benz 但必须保存相应的 id(不是名称)
目前我只显示名字和保存名字(我想link它到id)
我怎样才能做到这一点?
您的视图需要包含 Name|ID 格式的值(这是一个竖线符号)才能实现您想要的效果。
列值:
Benz|1
Fiat|2
Yamaha|3
对您的评论的回应:最佳做法(性能方面)是,使用公式 Name + "|" + ID
在您的视图中创建一个单独的列(如果您使用用户视图和 DBColumn,则可以隐藏它,顺便说一句,什么是不好的做法)。
如果您不想这样做,那么您的公式可能如下所示:
_names := @DbColumn("" : "NoCache"; ""; "myview"; 2);
_ids := @DbColumn("" : "NoCache"; ""; "myview"; 1);
_names + "|" + @Text(_ids)
如果您曾经了解 Notes 的工作原理,那么您真的应该接受 Lotus Notes Design 方面的培训,因为这些都是基础知识。
上面的公式在很多方面都不好:
- "NoCache" 的使用是真正的性能杀手。不要在大型应用程序中这样做
- 进行两次查找而不是一次查找会使您的响应时间加倍
- 每次查找都必须进行错误处理,否则如果出现错误,您的表单将无法再打开。
- 如果您的 DBColumn 的 return 数据超过 32k(大型列表),由于 Lotus Notes 中的字段限制,这整个事情都会失败
一个 "best practice" 方法(忽略可能的 32k 错误)是:
使用公式 Name + "|" + ID
使用此代码:
_view := "myview";
_col := 3;
_lkp := @DBColumn( "" : "Cache" ; "" ; _view; _col );
@If( @IsError( _lkp ) ; "" ; _lkp )