Xpage定制控件动态绑定域

 1、结果:(数据)域属性->表达式语言内容为:compositeData.CurDoc[compositeData.BindingFieldName]
2、BindingFieldName为控件自定义字符串属性,xpage输入
3、CurDoc为控件自定义属性:类型为:com.ibm.xsp.model.DataContext,编辑器为:数据源采集器;缺省值为:currentDocument
4、xpage传入CurDoc值为:currentDocument

一、一、CC配置:

CurDoc较为特殊,类型:com.ibm.xsp.model.DataContext;

控件事件afterPageLoad:

try{   
    var docDomino = currentDocument.getDocument();    
    var tempValue = "";                        
    if (docDomino.isNewNote()){        
        var configDB:NotesDatabase = session.getDatabase("","Application/EmEditorConfig.nsf")        
        var configVW:NotesView = configDB.getView("vwEmEditorConfig");        
        var tmpKey = compositeData.Key;                
        if((tmpKey == "")||(tmpKey == null)){return;}        
        var configDoc:NotesDocument    = configVW.getDocumentByKey(tmpKey);
        if(configDoc == null){return;}
        var entity:NotesMIMEEntity = configDoc.getMIMEEntity("EmEditContent");
        if (entity == null) {return;}
        var tempValue = entity.getContentAsText();            
        if((tempValue==undefined)||(tempValue == "")){return;}
        importPackage(com.ibm.xsp.http);            
          if(getComponent("EmEditor_1") == null){                  
              document1.setValue("EmEditor_1", com.ibm.xsp.http.MimeMultipart.fromHTML(tempValue));
          }else{        
              getComponent("EmEditor_1").setValue(com.ibm.xsp.http.MimeMultipart.fromHTML(tempValue))
          } 
            
    }    
}catch(e){
    print(e);
}

一、二:Xpage控制设置,KEY控制一个xpage可以加载多个控件;

       

 

二、使用案例:

文本编辑器:

1、拷贝CustomControl:TextEditor到自己的应用库中:

二、应用Xpage中TextEditor控件到对应的位置:

三、Xpage绑定的Form中创建存储编辑器内容的RTF域:

四、设置控制属性:

 

其中:

BindingFieldName:为绑定的RTF域名

CurDoc:默认值无须修改

EditorHight:为控件高度,默认400像素,可根据实际需要修改值(只写数字即可)

KEY:为对应配置库在的配置的KEY值

说明:

1、只有管理员可创建配置

2、如有业务人员需要配置,请先由管理员配置后将链接发给对应业务人员,业务人员只可修改模板内容,【关键字】【可编辑人员】请勿修改;

posted @ 2015-04-08 09:00  张平a  阅读(449)  评论(0编辑  收藏  举报