2012-04-10 20 views
0

我有一個擴展頁面對話框,我把它放在一個自定義控件中。該對話框用於搜索成本中心並返回諸如市場,成本中心編號,成本中心名稱等信息。處理xpages擴展對話框的最佳做法?

按下「選擇」按鈕並出現對話框。用戶搜索並選擇他們的成本中心。按下OK按鈕,關閉對話框並更新x頁上的各個字段。

有幾個問題。

  1. 當前CC上的「選擇」按鈕需要知道並引用CC中對話框控件的名稱。在我看來,這不是最佳做法。我的最終用戶程序員需要知道CC中該對話框控件的ID。有沒有什麼辦法讓我的「選擇」按鈕可以「顯示」CC和CC實際上會顯示對話框控制?

  2. 我的CC使用自定義屬性來存儲選定成本中心的各種文檔字段。 OK按鈕然後使用這些屬性來設置xPage上的各個字段。這似乎並不是最佳做法。如果我想在另一個應用程序中使用該CC,那麼我可能需要在OK按鈕中編輯代碼。有沒有更好的方法來處理這個問題?就像我可以爲CC設置屬性,當我將它放在我的xPage上時,是否有一種方法可以告訴我當按下OK按鈕時要執行的代碼?

我想過的一件事是爲需要通過確定按鈕進行更新的字段的屬性,但似乎沒有那麼靈活。

回答

0

對於需要知道id的問題不知道是否有錯字,但我不明白爲什麼它不好使cc內的選擇按鈕不需要打開對話框的ID?你的意思是選擇不在cc?無論哪種方式,你嘗試過什麼樣的自定義控件創建一個屬性,因此,從外面可以設置的東西也許

<xc:mycustomControl showDialog="false"> 

,然後在外面有事改變的ShowDialog並刷新CC,則CC裏面你可以在頁面加載之前/之後確定showDialog爲true/false時會發生什麼。

對於你的第二個問題,我覺得這應該是使用多米諾骨牌文檔結構。而不是對話框拉出每一塊和OK按鈕更新,我會做的是在頁面上有一個多米諾骨牌文檔數據源。當通過對話框選擇某些東西時,我會更新該源指向的文檔,並將所有字段綁定到他們需要的字段上。這種方式後,選擇的東西只會更新文件包含的字段,並且它將更加可重用,只要多米諾文檔具有相同的字段名稱

+0

是的選擇按鈕是CC外的XPAGE。我的對話框在CC內部。我的最終用戶程序員將CC丟棄在Xpage中。我的最終用戶程序員不需要擔心CC的內部工作,就是接觸到他的內容。我曾與之合作過的每個面向對象的程序都是這樣。 – 2012-04-11 11:40:37

+0

對於第二個問題,我只是在考慮使用多米諾文檔作爲CC的屬性而不是單個屬性。因此,CC搜索成本中心並設置多米諾骨牌的屬性。但我仍然需要對返回的內容進行一些操作。我應該能夠讓我的最終用戶程序員在他放置CC時「插入」該操作。就像他可能設置一個物業一​​樣。 – 2012-04-11 11:42:02

+0

showDialog屬性的想法顯示了一些承諾,謝謝。 – 2012-04-11 11:43:58