Domino 9 und frühere Versionen > ND7: Entwicklung

Spaltenwerte aus einer View auslesen

(1/2) > >>

Jörg:
Hallo,

ich habe ein Dokument Doc_a und möchte gerne über eine View auf Inhalte eines zweiten Dokumentes
doc_b zugreifen.

Hierzu öffne ich die View wie folgt:

--- Code: ---Set view = db.GetView("ANSWERE_DOC")
Set dc = view.GetAllDocumentsByKey(thisdoc.ID_MainDOC(0),True)

--- Ende Code ---

Nun habe ich aber das Problem , das ich nicht weiss wie ich die Dokumente
in der View selektieren und die angezeigten Werte aus den Spalten der View
weiter bearbeiten kann.

Gruß jörg

MadMetzger:
Ich würde hier mal über das Nutzen von Haupt- und Antwortdokumenten nachdenken(lese ich auch irgendwie aus deinen Bezeichnern heraus --> z.B. "ANSWERE_DOC", Suche nach der ID_MainDOC), denn dann bekommst du diese Sachen quasi geschenkt. Dazu lohnt sich auf jeden Fall auch ein Blick in den Best-Practice-Bereich.

Zu dem konkreten Code-Fragment, was hier vorliegt:
Wenn die View passend sortiert ist, erhälts du in der Variable "dc" eine Ansammlung von Dokumenten. An dieser Stelle kannst du über die Dokumente iterieren und aus den Dokumenten die Daten über Methoden der Klasse Notesdocument herausholen. Was du an dieser Stelle nicht getan hast, ist die View zu öffnen. Du hast an dieser Stelle auch keinen Zugriff auf die Sachen, die dir die Ansicht im Frontend angezeigt hätte. Dazu müsstest du anders vorgehen und die Klassen NotesView und NotesUIView betrachten.

Jörg:
Hi ,

die Verwendung von Haupt- und Antwortdukomenten habe ich schon angewendet.
Ich möchte nun in einen Layout-Bereich alle Antwortdokumente in einer Listbox anzeigen lassen.


--- Zitat von: MadMetzger am 14.02.08 - 09:53:08 ---An dieser Stelle kannst du über die Dokumente iterieren und aus den Dokumenten die Daten über Methoden der Klasse Notesdocument herausholen. Was du an dieser Stelle nicht getan hast, ist die View zu öffnen. Du hast an dieser Stelle auch keinen Zugriff auf die Sachen, die dir die Ansicht im Frontend angezeigt hätte. Dazu müsstest du anders vorgehen und die Klassen NotesView und NotesUIView betrachten.

--- Ende Zitat ---

Die Klassen Notesdokument habe ich schon in Globals wie folgt definiert:


--- Code: ---Dim session As NotesSession
Dim db As NotesDatabase
Dim thisuidoc As NotesUIDocument
Dim thisdoc As NotesDocument

--- Ende Code ---


--- Code: ---Sub Initialize
Set session = New NotesSession
Set db=session.CurrentDatabase

End Sub
--- Ende Code ---



Ich habe das Problem , das ich im Moment nur das geöffnete Dokument mit der Variable "thisdoc" zum auslesen
bekomme und nicht die Antwortdokumente aus meiner View (die zeigt nur Antwortdokumente an).

Dann werde ich mal schauen ob ich mit der Klasse NotesUIView weiter komme.

Gruß Jörg



MadMetzger:
Wenn du schon Antwortdokumente hast, dann kommst du an diese über deine Variable thisdoc.Responses (oder so ähnlich, habe gerade kein Notes hier zur Verfügung). Schau mal in die Designerhilfe für mehr Details... Zudem könntest du die Dokumente auch in einer eingebetteten Ansicht anzeigen lassen. Dazu brauchst du eine nach @Text($Ref) kategorisierte Ansicht. Bei der eingebetteten Ansicht stellst du dann für die einzelne anzuzeigende Kategorie die Uniqueid des aktuellen Dokuments. Die kategorisierte Spalte blendest du dann vielleicht noch aus in der Ansicht.

Kommt aber drauf an, was du mit den Antworten machen willst.

LN4ever:
Wenn es nur um die Anzeige der Antwortdokumente innerhalb einer Maske geht, hilft dir doch eher eine eingebettete antworthierarchische Ansicht, deren erste Spalte eine Kategorie @Text(@DocumentUniqueID) ist. Die verwendest du mit der SingleCategory

@If(@IsResponse;@Text($Ref);@Text(@DocumentUniqueID))

Dann kannst du die Ansicht sowohl in den Haupt- als auch in den Antwortdokumenten einbetten (in Antworten auf Antworten funktioniert es nicht mehr - oder du mußt die Ursprungs-UniqueID als separates Feld in alle Antwortebenen vererben).

Gruß

Norbert

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln