如果你设计的DataTable每一份文档都可以编辑,怎样一次性保存所有的文档呢

1. 你可以在每一个字段光标离开后,通过Ajax,调用代理将值保存进去

2. 其实还有一种方法,就是通过SSJS就可以很简单的实现.当点击Save按扭时,用JS调用第一个按钮的Click方法,然后在第一个按钮的OnComplete事件中再调用下一个按钮的Click,接着是第三个,第四个.... (不用在Save中一个一个去调用那些按钮的Click事件,试过是不行的)

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:panel id="p1"><xp:dataTable rows="30" id="dataTable1" style="width:50%" var="rowDocument" indexVar="lineIndex">
  <xp:this.value><![CDATA[#{try{
 var vw:NotesView = database.getView("QuestionsProfileByTopicAlias");
 return vw.getAllDocumentsByKey("CCV3")
 var doc:NotesDocument = null
 var ret = ""
 doc = vw.getFirstDocument()
 while(doc){
  ret += ";" + doc.getUniversalID()
  doc = vw.getNextDocument(doc)
 }
 
 return @Explode(ret,";")
}catch(e){
 print(e.toString())
}
}]]></xp:this.value>
  <xp:column id="column2"><xp:this.facets>
 <xp:span xp:key="header">a</xp:span></xp:this.facets>
   <xp:inputText id="inputText1" value="#{rowDocument.Title}"></xp:inputText>
  </xp:column>
  <xp:column id="column1"><xp:this.facets>
 <xp:span xp:key="header">a</xp:span></xp:this.facets>
   <xp:inputText id="inputText2"></xp:inputText>
  </xp:column>
  <xp:column id="column3"><xp:this.facets>
 <xp:span xp:key="header">a</xp:span></xp:this.facets>
   <xp:button value="Label" id="button1">
    <xp:eventHandler event=" submit="true"
     refreshMode="partial" refreshId="P2">
     <xp:this.action><![CDATA[#{var doc:NotesDocument = rowDocument;
doc.save();
//print(doc.getItemValueString("Title"))}]]></xp:this.action>
     <xp:this.onComplete><![CDATA[
     var strId = "#{id:button1}";
     var vId = strId.split(":");
    
     vId[3] = (parseInt(vId[3])+1).toString();
     strId = vId.join(":");
     if(document.getElementById(strId)){
      document.getElementById(strId).click()
     }
      
     ]]></xp:this.onComplete>
    </xp:eventHandler></xp:button></xp:column>
 </xp:dataTable></xp:panel>
 
 <xp:br></xp:br>
 <xp:button value="save" id="button2">
  <xp:eventHandler event=" submit="false">
   <xp:this.script><![CDATA[//alert(document.getElementById("view:_id1:dataTable1:0:column3:button1"))
//document.getElementById("#{id:button3}").click();
document.getElementById("view:_id1:dataTable1:0:column3:button1").click()]]></xp:this.script>


  </xp:eventHandler></xp:button>
 <xp:br></xp:br>
 
 <xp:br></xp:br>
 <xp:br></xp:br>
 <xp:br></xp:br>
 <xp:panel id="P2"></xp:panel>
 <xp:br></xp:br></xp:view>