2013-07-18 37 views
2

我正試圖簡化現有的Notes窗體,將其轉換爲XPage的應用程序。 Notes表單上有超過240個字段和一些我想要清理的邏輯。此外,該表格還具有各種顯示格式,使其看起來很複雜。所以我一直試圖寫一個代理來獲得FormA,並循環遍歷所有的字段並將它們複製到FormB。然後,我將使用FormB將我的XPage綁定到並試圖追蹤數據問題會簡單得多。如果FormA沒有這麼多的字段,我只會手動重新創建它,但我肯定有超過240個字段,我會介紹一些新的錯字錯誤。將FormA複製到新窗體FormB

+0

您最好的選擇可能是使用DXL。但你到目前爲止嘗試過什麼?你說你一直在試圖寫一個代理人,但是你沒有告訴我們你有多遠。你有代碼向我們展示以及關於它的任何具體問題嗎? –

+1

我認爲在大多數情況下,使用240個字段的表單並不是一個好主意。當沒有可用的嵌入式視圖時,它會像註釋中的表單一樣查找我3到4次,並且將一對多關係放入具有索引的字段中。 1到20.也許,重新設計是更好的方法。您不需要使用全部240個字段的表單將其用作XPage的數據容器。 –

+0

順便說一句,你可能會感到驚訝的是,你的16個問題中的大部分都沒有回答。這有兩個原因。 **首先**,您必須標記XPages與標籤'xpages'有關的問題,因爲大多數XPages的專家都用該標籤過濾問題。因此,通常用'xpages'標記的問題在兩天之內會被60個人查看,而您的問題在一個月內只能看到10個或更少的人。如果'xpages'不適用於某個問題,則可以使用其他受歡迎的標籤,例如'lotus-domino'或'lotus-notes'。 –

回答

1

我認爲,在大多數情況下,使用240個字段的表單並不是一個好主意。當沒有可用的嵌入式視圖時,它會從舊Notes的表單中查找我3到4次,並將一對多關係放入帶索引的字段中。 1至20.

也許,重新設計是一個更好的方法。

此外,您不需要創建和維護一個包含所有240個字段的表單來開發您的XPage。其實,你根本不需要這個表格。通過基於「Domino文檔」的數據源定義,您可以定義表單名稱以及要創建新文檔或查找現有文檔的方式。而已。然後你可以在XPage中創建你的字段。給他們一個名字和一個類型。您可以在Designer UI中執行此操作。只需將新的字段名寫入「綁定到」選定的「數據源」。在「顯示類型」中選擇一個字段類型(字符串,數字,日期/時間)。這不僅適用於顯示,而且還將該字段保存爲選定的文件類型。在這個例子中,它將創建一個新的字段「YourNewField」,並將其保存爲一個整數。 enter image description here

當您提交頁面時,所有字段將在文檔中創建或設置。您可以使用文檔屬性框在Notes客戶端中檢查字段及其類型。

儘管最好的方法是創建具有最重要字段的表單。然後,您可以在Notes客戶端中打開文檔並檢查XPage設置的字段。

2

您不需要對錶單做任何事情就可以爲其創建XPage佈局。 XPAges根本不需要表單,儘管它使開發更容易,因爲在創建數據綁定之後,表單中的所有字段都可用,並且可以拖放到Xpage。不在表格中的字段必須在xpage的源代碼中手動創建(例如,複製並粘貼現有的字段並更改綁定/名稱)

如果要清理文檔,代理可以甚至無需觸摸表單即可完成此操作。

對於此任務,請考慮「表單」和「文檔」之間的區別。 表單是定義文檔外觀的設計元素。 表單包含的字段定義了可以放入文檔的數據類型。 文檔是一個愚蠢的「容器」項目(不是字段)。它包含創建/最後保存文檔時窗體上存在的任何字段的項目。以其他方式創建的PLUS項目(例如,使用公式或lotusscript代理)或在開發的早期階段已經形成的PLUS項目。

如果您從表單中刪除一個字段,它將不會從相應的文檔中刪除,即使通過保存它們也不會刪除。但是,如果向表單添加字段,保存後文檔將爲該字段指定一個項目(如果不使用代理手動將其刪除,則永久保存)。

有了這些知識,您可以簡單地創建一個新的「乾淨」的形式,與舊的名稱相同,並重新命名舊的。從此時起,文檔將與新窗體一起顯示,您可以使用它作爲數據源開發您的XPage。

如果您需要在文檔中累積數據,可以在不使用表單的情況下使用代理完成:直接操作文檔。

下面是公式的例子把兩個字段一起:

FIELD NewFieldName := OldField_1 : OldField_2; 
FIELD OldField_1 := @DeleteField; 
FIELD OldField_2 := @DeleteField;