Domino 9 und frühere Versionen > Entwicklung
NotesViewEntry
ata:
... ich hoffe ich habe dich richtig verstanden, wenn du die Kategorie markierst bekommst du kein Dokument zurück, aber wenn du das Dokument markierst sehr wohl...
ata
Thomator:
...
genau, is ja auch logisch, weil die Docs zu der Kategorie erst in den nächsten Zeilen kommen. Aber ich muss halt die komplette Kategorie anhand eines markierten Kategorieeintrags auslesen können. Und in der View einfach sagen, dass der nächste Eintrag genommen werden soll, geht nicht, weil ich da einen Eintrag übergeben muss. Aber den krieg ich nicht, weil die Übergeordneten Kats nicht mit ausgelesen werden ..........
Und so weiter. Teufelskreis, das!
Thomas
Performance:
die Position eines entrys in der view bekommst du mit
position$ = notesViewEntry.GetPosition( separator$ )
mach dir einen Navigator mit
Set notesViewNavigator = notesView.CreateViewNav( cacheSize )
hole dir das selektierte entry - über eine dokument key
Set notesViewEntry = notesView.GetEntryByKey( keyArray [ ,exactMatch%] )
suche die Kategorie inder view
Set notesViewEntry = notesViewNavigator.GetPrevCategory( notesViewEntry )
dann erzeugst du dir einen neuen view navigator mit der Kategory vom selektierten entry
Set notesViewNavigator = notesView.CreateViewNavFrom( navigatorObject [, cacheSize ])
dann kannst du die doks bearbeiten
das war jetzt auf die Schnelle - es gibt sicher Verbesserungen
cu
ata:
... immer schön langsam, eins nach dem anderen...
... wenn du ein Dokument im Zugriff hast, dann kennst du doch die Kategorie-Hierarchie - du verwendest ein Feld für die Kategorisierung in der View...
... also zieh dir das Dokument über UnprocessedDocuments in eine Collection.
... dann das Feld einlesen mit der Kategorie...
... dann einen @Explode des Strings nach "/"...
... das erste Element des Explode ist die oberste Kategorie...
... um auf Nummer sicher zu gehen kannst du mit einem db.Search die Dokumente in eine neue Collection ziehen, die mit diesem Begriff im Feld "Kategorie" beginnen...
ata
Thomator:
@Performance: Das Problem liegt an folgender Stelle:
Set notesViewEntry = notesView.GetEntryByKey( keyArray [ ,exactMatch%] )
Ich habe doch kein Dokument im Zugriff, dehalb kann ichs ja nichts übergeben.
@ata: Ich kann mir den markierten Eintrag, wenn es sich um eine Kategorie handelt, auch nicht über unprocessedDocuments in eine Collection ziehen. So kann ich allenfalls feststellen, dass es sich um eine Kategorie handelt, da die Eigenschaft count der Collection dann 0 ist.
Thomas
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln