xpage开发基础小功能代码

来源:互联网 发布:php开发ios 编辑:程序博客网 时间:2024/06/09 23:13
1、管理员可视
if(context.getUser().getRoles().contains("[DBAdmin]")){
return true;
}else{
return false;
}


2、保存并退出
currentDocument.save();
currentDocument.getDocument().computeWithForm(false,false);
currentDocument.save();
view.postScript(" alert('保存成功!'); ");
context.redirectToPage("xpPz_ventrueView.xsp");


3、视图中全选、反选


全选:
var a = document.getElementsByTagName("input");
for(var i = 0;i<a.length;i++){
if(a[i].type == "checkbox") a[i].checked = true;
}
反选:
var a = document.getElementsByTagName("input");
for ( var i = 0; i < a.length; i++) {
if (a[i].type == "checkbox" && a[i].checked == false) {
a[i].checked = true;
}else if(a[i].type == "checkbox" && a[i].checked == true) {
a[i].checked = false;
}
}
 
4、取配置信息
@Unique(@DbColumn("", "vh_pz_auditType", 1))


   根据配置信息key取信息
var searchVal = currentDocument.getItemValueString("key");
if(searchVal == null || searchVal == ""){
var myview = database.getView("configview");
var doc = myview.getFirstDocument();
searchVal = doc.getItemValueString("key");
}
@DbLookup(@DbName(), "configview", searchVal , "key2");


5、日期采集器判断
var inputText2:com.ibm.xsp.component.xp.XspInputText = getComponent("inputText2");
if(inputText2.getValue() == null || inputText2.getValue() == ""){
view.postScript(" alert('请选择审计结束时间'); ");
return;
}
 6、发送邮件
//发送邮件
var dbname = @Name("[CN]",@Subset(@DbName(),1));
var RtItem; 
var MailDoc:NotesDocument = database.createDocument();
var subject = "现有【"+currentDocument.getItemValueString("zzzx")+"】制造中心提报的审计问题关差表单发到,编号为【"+sTotalNoStr+"】,请查看并审核。";
MailDoc.replaceItemValue( "Subject" , subject);
MailDoc.replaceItemValue( "Sendto" , currentDocument.getItemValue("gcID"));
MailDoc.replaceItemValue( "Copyto" , currentDocument.getItemValue("jytID"));


RtItem = MailDoc.createRichTextItem( "Body" );
RtItem.appendText( "客户端请点击以下链接查看:" );
RtItem.addNewLine(1);
RtItem.appendText( "notes://"+dbname+".corp.haier.com/"+session.getCurrentDatabase().getFilePath()
+"/0/"+currentDocument.getDocument().getUniversalID()+"?OpenDocument");
RtItem.addNewLine(1);
RtItem.appendText( "浏览器请点击以下链接查看:" );
RtItem.addNewLine(1);
RtItem.appendText("http://"+dbname+".corp.haier.com/"+session.getCurrentDatabase().getFilePath()
+"/auditProblemDiffereceForm.xsp?documentId="+currentDocument.getDocument().getUniversalID()+"&action=editDocument");


MailDoc.send(false);
7、视图中选中文档处理


var viewPanel=getComponent("viewPanel1");
var ids=viewPanel.getSelectedIds();    // ids 是一个所选doc id的array。
for(i=0; i < ids.length; i++){
var docId=ids[i];
var doc:NotesDocument=database.getDocumentByID(docId);

var i = oracleTool.deleteDoc(doc.getItemValueString("gdh"));
//删除NOTES文档
if(i == 1){
doc.remove(true);}
}


8、前台时间与后台时间的比较
在js中前台时间与后台的时间的比较,后台要使用.tajavaDate,这样就可以与前台的时间比较了。


9、如何处理视图中显示长度。
   首先要在viewpanl标签中加入 var="rowdata",pageName="打开文档xpage页面的名字"然后在列属选择上选择计算,计算代码为rowdata.getColumnValue("列名").substr(0,10);
   这样使用的话会造成视图中列选择事件中虽然为编辑,但是点击后会变成新建,所以将事件取消掉,改为无提交,然后加入如下代码
<xp:eventHandler event="onClientLoad" submit="false"
id="eventHandler1">
<xp:this.script><![CDATA[
        dojo.query(".xspLinkViewColumn").attr("target", "_blank");
    ]]></xp:this.script>
</xp:eventHandler>
0 0
原创粉丝点击