Memfilter pengulangan yang disarangkan

Aplikasi saya memiliki dokumen untuk Perusahaan, dan untuk Klien. Ini adalah hubungan banyak ke banyak; sebuah perusahaan dapat memiliki sejumlah klien, dan seorang klien dapat menjadi klien dari banyak perusahaan. Hubungan tersebut disimpan dengan membuat dokumen respons ke perusahaan, dengan bidang yang berisi ID dokumen klien.

Saya ingin dapat menampilkan bidang dari dokumen klien di XPage perusahaan, dan saya telah mencoba melakukan ini dengan kontrol berulang. Saya membuat tampilan semua dokumen tautan, dan menggunakannya untuk membuat pengulangan, memfilternya dengan ID dokumen saat ini untuk mengumpulkan semua tautan yang dimiliki perusahaan saat ini. Hal ini memungkinkan saya untuk membuat daftar semua ID dokumen klien yang terkait dengan perusahaan itu.

Saya telah mencoba mencari cara untuk meneruskan ID ini ke kontrol berulang yang bersarang di dalam yang pertama, baik untuk menggunakannya sebagai filter pada tampilan semua dokumen klien, atau untuk menggunakannya sebagai ID dokumen sumber data secara langsung. Apakah ini mungkin? Jika tidak, bagaimana cara menampilkan data dari dokumen klien di halaman perusahaan?


person Josh Jolly    schedule 25.07.2012    source sumber


Jawaban (1)


Saat Anda menentukan kontrol berulang, Anda menentukan variabel yang berisi nilai instans. Nama variabel ini dapat dilihat oleh apa pun di dalam kontrol pengulangan. Jadi variabel Anda akan berisi UNID dokumen klien satu per satu. Misalnya Anda menyebutnya ClientDocID. Anda meletakkan panel di dalam kontrol berulang itu. Panel tersebut dapat memiliki sumber data DominoDocument sendiri. Sumber data dapat memiliki tindakan baru, menampilkan, atau mengedit sebagai tindakan default. Anda memilih "display" yang memerlukan DocumentId untuk disediakan. Pilih "dihitung" dan cukup gunakan ClientDocID sebagai rumus.

Anda dapat menyembunyikan rendering HTML untuk panel (periksa propertinya), sehingga cocok, misalnya. di dalam xp:tr.

Semoga itu bisa membantu

person stwissel    schedule 26.07.2012
comment
Saya mencoba ini:<xp:repeat id="repeat4" rows="30" value="#{TACView}" var="linkData" indexVar="linkIndex"> <xp:panel> <xp:this.data> <xp:dominoDocument var="document2" action="openDocument" documentId="#{javascript:linkData.ProID}" formName="PL"> </xp:dominoDocument> </xp:this.data> tidak berhasil, apa yang saya lakukan salah? - person Josh Jolly; 26.07.2012
comment
Saya dapat menampilkan ID dokumen yang ingin saya buka di dalam panel, dan saya dapat mengakses data di dalamnya dengan memasukkan ID ke dalam bidang terhitung yang disebut test dan menggunakan hal-hal seperti: database.getDocumentByUNID(getComponent("test").getValue()).getItemValueString("PL_Phone") tetapi ini sepertinya solusi yang berantakan? - person Josh Jolly; 26.07.2012
comment
Linkdata tipenya apa? Entri Xspview? Kemudian pilih metode yang tepat untuk unid dan Anda dapat menggunakan document2.pl-phone. UI sebenarnya harus menawarkan nama bidang kepada Anda - person stwissel; 27.07.2012
comment
Hilangkan awalan javascript dalam pengikatan documentId Anda, dan setel abaikanRequestParams ke true. - person Tim Tripcony; 22.08.2012