Domino 9 und frühere Versionen > ND8: Entwicklung

Dynamisches zweidimensionales Array

(1/4) > >>

Lloyd:
Hi,
ich habe 2 Fragen zu einem zweidimensionalen Array. Bin mit der Suche und der Hilfe (vielleicht kapier ich das mit dem REDIM nur nicht) im Notes nicht wirlich weitergekommen. Ich benötige ein dynamisches zweidimensionales Array.
Die erste Ebene ist dabei starr (0 To 2), die zweite Ebene soll dynamisch sein.

Meine starre Variante zum testen sieht so aus:

Dim wert(0 To 2, 1 To 30) As String
If ( ........... ) Then
   wert(0, 1) = "Quartal 1, 15)
   wert(0, 2) = "Quartal 1, 29)
End If


Zur Befüllen muss ich aber eine Forall-Schleife durchlaufen und dabei die Zweite Ebene dynamisch halten, da ich nicht weiß wie viele Werte kommen. Kann mir jemand auf die Sprünge helfen wie ich die Zweite Ebene dynamisch aufbauen kann?

Mein Zweites Problem betrifft die Darstellung eines zweidimensionalen Arrays in einer Ansicht. Die Erste Ebene soll dabei ein kategorisierter Wert sein (sprich den man aufklappen kann) und die Zweite Ebene sind die eigentlichen Werte die angezeigt werden sollen. Habt ihr hier einen Ansatz für mich.

Bin für jeden Hinweis dankbar.

Tode:
Dynamisch geht nur eindimensional.

Man könnte sich jetzt so ein Konstrukt ausdenken:


--- Code: ---Dim wert() as Variant
Dim innererWert() as String

neueGrösse = 121
Redim wert( neueGrösse ) as Variant
For i = 0 to ubound( wert )
    zweiteDimension = 6
    Redim innererWert( zweiteDimension ) as String
    For j = 0 to ubound( innererWert )
       innererWert( j ) = "DeinString"
    Next j
    wert( i ) = innererWert
Next i

--- Ende Code ---

Aber da Du das ganze in einer View willst, würde ich mir gleich von Anfang an überlegen, das in Dokumenten zu speichern: Erste Dimension = Dokument, zweite Dimension = Feldwerte im Dokument

ascabg:
Hallo,

Soweit ich mich noch erinnere ist es nicht moeglich ein mehrdimensionales Array dynamisch zu deklarieren.

Und einen Array, sei es eindimensional oder auch mehrdimensional, kannst Du nicht in einer Ansicht darstellen.
Hier kannst Du nur Werte darstellen, die in den Feldern der Dokumente gespeichert sind bzw. sich aus diesen
berechnen lassen.


Andreas

@Edit:
Tode war schneller

koehlerbv:
Nur in einer Sache ein Widerspruch, Andreas: Eindimensionale Arrays kannst Du in Ansichten sehr wohl darstellen, das ist auch ganz üblich (Felder mit Mehrfachwerte-Option).

Bernhard

pram:

--- Zitat ---Die erste Ebene ist dabei starr (0 To 2), die zweite Ebene soll dynamisch sein.
--- Ende Zitat ---
Da die erste Ebene fest ist, lässt sich die Datenstruktur auch ganz leicht in einem eindimensionalen Array abbilden:
dim arr() as String
...
redim arr(yMax*3+2) as String

index = x + y*3, wobei x zwischen 0 und 2 liegen muss. und y zwischen 0 und yMax

Gruß
Roland

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln