Hier ein Demo-Beipiel im Web mit einem Ansichtsaufbau, der genau Deinem entspricht.
Auch hier sind in einigen Ansichten die Feldwerte in der Form:
"Oberkategorie 1\Unterkategorie 1"
mit danach noch einer dritten folgenden Kategorie aufgebaut:
Unterkategorie 2 zu Ober-Unterkategorie 1.
Im Beispiel:
"Kurz-Report\2004"
"Kredit"
http://www.manetu-03.de/volksbankLogin: "volksbank"
Pw: "volksbank"
Die Ansichten beruhen alle auf dem einfachen Prinzip,
dass die Notes-Ansicht im Web genutzt wird,
selbst aber unsichtbar bleibt und immer wieder ein Javascript aufruft
und an dieses Javascript die Feldwerte übergibt.
Dieses Javascript wird also einfach durch die Notes-Ansicht
für jede Kategoriezeile und jedes Dokument in der Ansicht
neu aufgerufen und schreibt dann mittels document.writeln() das HTML für die Webansicht,
so, wie man es gerne möchte.
Es gibt ein Javascript für Kategoriezeilen (WriteCategory)
und eines für Dokumentzeilen (WriteTable)
Kategoriespalte in der Notes-Ansicht:
_CategorySort := @Word(@ReplaceSubstring( Feldwert; "<" : ">" ; ""); "--Sort--"; 2);
_CategoryClear := @Word(Feldwert; "--Sort--"; 1);
"[" +
"<x" + _CategorySort + "> " +
"<script language=JavaScript>" + @NewLine +
"WriteCategory( \"" +
@DocNumber + "\", \"" +
@DocNumber + "\", \"" +
_CategoryClear + "\", \"" +
"1" +
"\" ) " + @NewLine +
"</script>]" + @NewLine
Dokumentspalte in der Notes-Ansicht:
"[<script language=JavaScript>" + @NewLine +
"WriteTable( \"" +
_UNID + "\", \"" +
@DocNumber + "\", \"" +
_C1_L1 + "\", \"" +
_C1_L2 + "\", \"" +
_C2_L1 + "\", \"" +
_C2_L2 + "\", \"" +
_HasAttachments + "\", \"" +
_HasCommunity + "\", \"" +
_PATHDIA + "\", \"" +
_ReadAccess +
"\" ) " + @NewLine +
"</script>]"
wobei Cx_Lx Feldwerte aus den Dokumenten sind, die in der Ansicht dargestellt werden sollen, die anderen Werte kannst ignorieren.
Die zwei Javascript-Funktionen sind hierbei im $$WebViewTemplate hinterlegt,
und sind im Quelletext des o.g. Beipiels frei sichtbar.
Mit dieser Form, Webansichten zu schreiben,
läßt sich so ziemlich alles im Web realisieren, was man sich wünschen kann:
- beliebig Kategorie-Ebenen
- genau definierte, feste Spaltenbreiten mit Umbruch (Mindestbreiten)
- kein Verrutschen der Ansichtsspalten beim Navigieren
- Klicken auf die Kategoriespalten und nicht auf die Mini-Twisties
- Alternative Kategorie- und Zeilenfarben
- völlig freies Layout und Formatierung mittels CSS
- Kategoriesummen
- Grafikeinbindung (Thumbnails)
- Nutzung der @DocNumber
- etc.
Die Performance ist rasend schnell, auch weil der Server hierbei sehr wenig zu tun hat,
da die meiste Arbeit an den Browser abgegeben wird, der das Javascript ausführt.
Ob 10 oder 10.000 Dokumente in der Ansicht sind, spielt eigentlich keine Rolle,
die Ansichtsberechnung für Notes ist sehr einfach und im Web werden sowieso immer nur ca. 50 Dokumente angezeigt.
Mit diesem Prinzip kann so ziemlich jede Notes-Ansicht sehr schnell ins Web umgesetzt werden,
und das sieht sicher bedeutend besser aus, als die Standard-notesgerenderten grausamen "Webansichten".
Hoffe es hilft Dir weiter,
Gruss,
Uwe