Autor Thema: "Dynamisierte" View  (Gelesen 2000 mal)

Offline kdreier

  • Frischling
  • *
  • Beiträge: 32
  • Geschlecht: Männlich
"Dynamisierte" View
« am: 15.06.06 - 11:29:28 »
Moin,
es ist mir völlig klar: es gibt keine wirklich dynamischen Views Aber vielleicht hat ja jemand einen Lösungsansatz.

Ich arbeite an einer View, die Dokumente kategorisiert darstellt. D.h. die ersten Spalten sind mit der Eigenschaft "categorized" eingerichtet. Das funktioniert auch wunderbar und wie erwartet.
Nun möchte ich die View allerdings zur Laufzeit anpassen. Die Anzahl der Kategorieebenen, d.h. die Tiefe der Gliederung soll in einem Profildokument konfigurierbar sein. In den eigentlichen Dokumenten können dann die entsprechenden Felder ein- bzw. ausgeblendet werden. Die Anpassung der Outline, um die Links zu entsprechenden Views zu zeigen oder zu verstecken funktioniert auch zur Laufzeit.

Beispiel: Wurde die DB mit zwei Kategorieebenen konfiguriert, sollen die Views auch nur zwei kategorisierte Spalten zeigen. Um es gleich zu klären: Dies soll bei Erstellung einer DB vom DB-Eigner konfiguriert werden (der viell. auch Designerrechte bekommen kann) und nicht von "normalen" Benutzern während der Nutzung.

??? Das Problem ist nun: In der View schaffe ich es nicht, die Spalten der Kategorien, die nicht benötigt werden zur Laufzeit auch wirklich auszublenden.

Verwende ich die "Hide formular" einer Spalte wird zwar der Inhalt des Kategoriefeldes nicht mehr angezeigt, aber stattdessen erscheint dann in der View eine leere Zeile anstelle der Kategorie. Änderungen zur Laufzeit an den Spalteneigenschaften haben bisher noch nicht funktioniert. Im Eigenschaftsdialog gibt es die Einstellung "Categorized is flat...", damit funktionierts im Designer. Diese Eigenschaft finde ich im NotesViewColumn-Objekt allerdings nicht wieder.

Möglicherweise muss ich ja einen komplett anderen Ansatz fahren.
Hat jemand dazu Ideen?

Danke
Karsten

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: "Dynamisierte" View
« Antwort #1 am: 15.06.06 - 11:51:44 »
Ich nehme nun einmal folgendes Beispiel:
In einer Applikation sollten Bilddaten von einer MA allen Anwendern zur verfügung gestellt werden. Diese Daten sollten ähnlich wie im Dateiexplorer in verschiedenen "Verzeichnissen" auftauchen, aber eben unterscheidlich viele.

Meine Lösung:
Ich erstelle in Feld (Mehrfachwerte), und dort erfasst die MA die Kategorien (=Verzeichnisse s.o). Dann habe ich nun diese Mehrfachwerte in einen String umgewandlet. Dieser String verwendet als Trennzeichen \\ (Backslash).
Dieses String gebe ich in der Kategorisierten Spalte aus.
Das Ergebnis ist das das entsprechende Dokument unter z.B. 3 Kategorien auftaucht während ein anderes unter 4 steht und ein weiteres unter 1 oder 2 Kategorieebenen.

Somit habe ich also eine dynamische Ansicht, ohne irgendwie am Design rumzufummeln.

Ich hoffe ich habe richtig verstanden, was du erreichen wolltest!
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline kdreier

  • Frischling
  • *
  • Beiträge: 32
  • Geschlecht: Männlich
Re: "Dynamisierte" View
« Antwort #2 am: 15.06.06 - 13:09:13 »
@Lossa

Vielen Dank,
das ist ziemlich genau das, was ich wollte.

Im Dokument habe ich 4 Felder für mögliche Kategorien. Wieviele gezeigt werden, hängt von der Einstellung in einem Profildokument ab.

In der 1. Spalte des Views kann ich nun mit folgender Formel die Kategorien zeigen:
@Implode(@Trim(Category : SubCategory : SubCategoryLvl3 : SubCategoryLvl4);"\\")
[/font]
Es werden nur soviel gezeigt, wie auch tatsächlich mit Werten gefüllt sind.

Was jetzt noch schön wär:
  • Einrückung der Dokumentenzeile entsprechend der Anzahl der gezeigten Kategorien.
  • Farbliche Unterscheidung der einzelnen Kategorieebenen.

Hast du dazu noch eine Idee?

Danke
Karsten


Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: "Dynamisierte" View
« Antwort #3 am: 15.06.06 - 13:28:12 »
Zitat
Einrückung der Dokumentenzeile entsprechend der Anzahl der gezeigten Kategorien.
Mache doch ein zus. Feld in deine Maske, oder wenn es sein muss in der Ansicht, das Leerraum berechnent (Achtung: Nur sinnvoll bei Monospace Schriftart, unproportionale Schriften)

@Repeat(" ";2*@Elements(@Trim(Category : SubCategory : SubCategoryLvl3 : SubCategoryLvl4)))

Somit erhälst du pro Kategorie 2 Space in dem String, das Feld in der Zeile mit ausgeben lassen.
Space + Information für den Anwender
Und die Spalte entsprechend Breit machen, dann hast du deine zusätzliche Einrückung.
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline kdreier

  • Frischling
  • *
  • Beiträge: 32
  • Geschlecht: Männlich
Re: "Dynamisierte" View
« Antwort #4 am: 15.06.06 - 13:37:36 »
Ja, hatte ich auch schon versucht. Es ist richtig, funktioniert nur mit Monospace ganz gut. Passt dann aber nicht mehr ins Gesamtbild. Denke, werde die 1. Spalte breit genug machen, sieht dann auch "wohlgeordnet" aus.
Und die farbliche Unterscheidung der Kategorien -> für mich eh nur "nice to have".

Also: Problem gelöst

Danke einstweilen
Karsten

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz