改写maximo中dialog 类

本文详细阐述了如何在应用程序中优化对话框设计,使其能够追踪触发对话框的源字段数据属性。通过引入数据属性绑定机制,实现了在对话框中根据源字段动态展示相关信息的功能。此外,介绍了在控制注册表中修改组件类以适配新设计的过程,确保了系统的一致性和用户体验的提升。

在应用程序中,有多个签名字段,初步设计为 点击字段后的按钮,弹出对话框,在其中验证用户名和密码,验证通过将用户的displayname 写入签名字段。

 

问题在于,如果使用现在的dialog类,无法获取到对话框是从哪个字段弹出的,所以需要每个字段绑定一个dialog。

 

后来在treeControlBean中发现,tree可以获取到dataattribute,即触发源字段。 仿照tree类,改写dialog。

 

 

public class Dialog extends psdi.webclient.controls.Dialog {
 
 private String sourceDataAttribute;
 private ControlInstance sourceControl;
 private DialogContrloBean dialogDataBean;

 public String getSourceDataAttribute() {
  return sourceDataAttribute;
 }

 public void setSourceDataAttribute(String sourceDataAttribute) {
  this.sourceDataAttribute = sourceDataAttribute;
 }
 
 public Dialog(){
  super();
  sourceDataAttribute = null; 
  dialogDataBean = null;
 }
 
 /**
  * 获取dialog的sourceDataAttribute。
  */
    public void initialize() {
        super.initialize();
        sourceControl = getWebClientSession().getCurrentEvent().getSourceControlInstance();
       
        if(sourceControl != null)
        {
            sourceDataAttribute = sourceControl.getProperty("dataattribute");
           
            if(sourceDataAttribute.equals("") || null==sourceDataAttribute){
             return;
            }
        }       

        dialogDataBean = (DialogContrloBean)getDataBean();
        dialogDataBean.setSourceDataattribute(sourceDataAttribute);
    }

}

这样就可以在databean类里面获取到源字段。

 

在control-registry.xml 修改组件dialog对应的类,指定到自己的类即可。

<control-descriptor name="dialog" descriptor-class="psdi.webclient.system.runtime.DatasrcDescriptor"  instance-class="${package}.Dialog" >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值