2013-01-18 54 views
0

我正在使用現有的Lotus Notes數據庫並轉換爲Xpages。這些表格中有一個包含3個多值字段,其中New Line作爲分隔符,「添加新」,「修改」和「刪除」按鈕控制數據輸入和刪除的方式。客戶希望XPage看起來與Notes GUI類似,我想我會使用dijit對話框來添加新行並找出刪除和修改。但從我所知道的情況來看,對話框只能在客戶端使用,並且輸入到對話框中的數據不能被放到Xpage上。這是真的?我想我會在重複中使用可編輯的字段,但我也無法正常工作。動態表從Lotus Notes到XPages的表格

基本上,它的解決方案必須顯示過去文檔的多值字段,並且還能夠允許用戶編輯這些較早的文檔......加上與創建新文檔時過去相似/完全相同的工作方式。

在此先感謝您提供任何幫助,因爲這似乎比我想象的要容易得多。

我只是想在下面的解決方案後更新,這似乎是一個很好的方法來解決這個問題。然而,作爲一個被承認的XPages新手,我真的很難應用這個概念。這就是我所擁有的,而且顯然不起作用。

從邏輯上講,這聽起來像是一個很好的解決方案。但是,我不是xpages專家,即使開始,我也無法正常工作。任何事情都可以讓我更容易開始,這將是一個很大的幫助。我不是一個通常尋找「答案」的人......我只是很難處理這個多值字段表問題。再次感謝提前...這是我寫的是500錯誤。 「A」是多值字段名稱。

<xp:table> 
    <xp:tr> 
     <xp:td> 
      <xp:repeat id="repeat1" rows="30" var="rowdata"> 
       <xp:this.value><![CDATA[#{javascript:document1.getItemValue("A")}]]></xp:this.value> 
       <xp:tr id="valueRow"> 
        <xp:td> 
         <xp:text 
          value="#{javascript: return rowdata[i]}" /> 
        </xp:td> 
        <xp:eventHandler event="onclick" submit="false" 
         refreshMode="partial" execMode="partial" execId="valueRow" 
         immediate="true"> 
         <xp:this.action> 
          <![CDATA[#{javascript:document1.getItemValue("A")}]]> 
         </xp:this.action> 
        </xp:eventHandler> 
       </xp:tr> 
      </xp:repeat> 
     </xp:td> 
    </xp:tr> 
</xp:table> 
+0

我認爲重複控制將是更好的選擇。您可以自定義外觀以更貼近舊系統,添加按鈕並使字段鏈接以訪問實際文檔。 – RoyRumaner

+0

NotesIn9做了一個教程,與此類似。鏈接在這裏。 https://www.youtube.com/watch?v=ZwTNARkKDAQ –

回答

2

我想說做以下

  1. 創建重複控制,將從多值字段提取數據,並打印出來只讀。重複控制將生成一個tr結構,並在onclick事件中綁定一個事件處理函數。是這樣的:

enter image description here

2在onclick事件改變TR客戶方(使用道場)的風格讓人們知道他們選擇該行,並設置該行的ID /標識符的作用域var

3在重複控制上方添加控件,如添加,刪除,更新。添加和更新將打開一個對話框,並將讀取選定行中的數據(或者如果其添加操作,則爲無)。刪除控件將從多行值字段中刪除數據,保存文檔並重新進行重複控制。

這應該工作。

+0

我在上面的原始問題中添加了一些評論。感謝您的幫助,但我仍然在爲您的優秀建議的理念和應用努力。 – user1590386