Siebel High Interactivity 模式下 Popup Applet如何支持单选

来源:互联网 发布:军团要塞2 优化设置 编辑:程序博客网 时间:2024/05/19 18:15

在Siebel 7.7版本中,高交互模式下通过Button触发的Popup Applet是支持多选的,参见下图

对于如何支持单选,Siebel没有提供标准的配置,实现起来需要大费周章。

Oracle support网站(http://support.oracle.com) 提供了两个解决方案:

1.将Applet改成standard interactivity 模式,此模式下Popup Applet是只能做单选处理。

2.修改Application应用的配置文件为standard interactivity模式。

通过实验发现,这两种方案都不可行。

1.标准交互模式下的Popup Applet需要修改Applet的Class为CSCHTMLSelectListPopup,目前发现这种Class只能应用在Toolbar中,在Applet的button调用的popup applet应用,服务器端会出现crash错误。

2.Application相关的应用都为高交互模式,不可能为单一需求修改cfg配置文件。

 

后来,我联想到PickApplet在高交互模式下是具有单选功能的,是否可以借助PickApplet实现Popup Applet的单选功能呢?沿着这条思路,终于达成了目标。

实现步骤如下(用伪代码描述):

1.已Popup Applet所在的BC为基础创建PickList对象,命名为PickList 1

2.在BC中加一个calculated field命名为Field 2,保证calculated value为空,并添加PickList 1,在Field 的PickMap中,增加Field 2= Picklist 1的Id字段

3.在Applet的Button中,设置Field属性为Field 2,并增加PickApplet属性为Popup Applet,而此时你一定在猜想Button InvokeMethod里边该设置什么呢,答应就是保持ShowPopup不变,并还是在control user property中,填写Mode和Popup

 

测试下,是否你想要的功能已经实现。

 

原创粉丝点击