2016-04-21 43 views
0

在我的應用程序中,我想用重複控件替換一個viewpanel。
但是,部分功能是允許用戶選擇特定字段(對應於視圖)的UI方面,並且僅顯示匹配的文檔。該視圖執行過濾器,允許用戶選擇視圖的各個方面來創建搜索(該代碼在視圖的搜索範圍內),允許使用搜索結果更新視圖面板。在重複控件上進行過濾/搜索

好奇的一件事是,viewpanel的值爲「#{javascript:view2}」,它代表實際的視圖名稱。

的viewPanel中定義搜索視圖和......

我希望能夠是相同的功能適用於重複控制。我沒有看到重複控制的屬性......任何指針?它已經有一段時間了,因爲我已經與xpages合作......足夠久以至於我已經忘記了很多......

TIA!

回答

0

閱讀this blog post我做了一段時間後,它應該解釋你需要什麼。

視圖面板不會過濾任何東西,它只顯示數據源中的行,與重複控件相同。事實上,您可以將組件添加到ViewPanel的列中,通過向dominoView數據源添加var屬性從當前行中拉出組件。

該視圖綁定到#{javascript:view2}(這可以通過綁定到#{view2}更好地完成 - 這裏不需要調用SSJS)。 view2是dominoView數據源在您的頁面上的某個地方。數據源是一個包含屬性的包裝器,用於捕獲您想要執行的篩選和搜索設置。在運行時,它們將被計算,並且將在數據源中更改 ViewEntries。

最後還有可用於LotusScript的底層Dom​​ino視圖對象。這持有並將始終保存所有條目。 dominoView數據源查詢使用過濾和搜索屬性並檢索ViewEntryCollection或ViewNavigator。

因此,無論您使用視圖面板,重複控制,數據視圖還是其他任何方式,這些都只是用於直觀表示ViewEntries或文檔集合的組件。所有可以綁定到一個dominoView數據源。在重複控件和數據視圖爲您提供額外功能的地方,您可以將它們綁定到任何種類的集合,而不僅僅是dominoView數據源(例如DocumentCollection,ViewEntryCollection,多值字段,Java集合等)。

0

我經常發現,在Java中進行搜索,然後將結果作爲列表傳遞給repeat可以更好地工作並允許更多選項。我可以在Java中獲得所需的所有信息,並將其加載到Map或Tree中。這使我能夠在Java類中進行自定義排序,並且還可以輕鬆地組合來自其他視圖/數據庫的數據。由於數據現在在內存中,因此它會快速重新加載。你唯一需要注意的是數據的大小。如果你有很多條目的視圖(10K?)你可能不希望加載的一切到內存...

霍華德

0

我不知道你是否已經找到了解決辦法,但可以考慮使用jQuery數據表。奧利弗布斯寫了一個非常detailed blog post about integrating dataTables into XPages

爲了獲得特定的格式,我使用了重複控制來包含Oliver在他的博客文章中列出的「td」,「tr」和「thead」屬性。