[Frage] SmartParts Liste [Gelöst]

Schlagworte:

Hallo.

Ich habe eine Palette für meinen Smartpart erstellt, in der ich gerne eine Liste erzeugen würde. Ich wollte das mit I_INFIELD_3 lösen, da dieser Befehl (anscheinend) über eine list view control verfügt.
Mein Ziel wäre eine Liste, aus der ich ein Element wählen kann. Je nach gewähltem Element soll sich die weitere Eingabe ändern.

---------------

I_ROW `MyList` , 1
I_INFIELD_3 cur ,
clsz , row * rowsz , ctlw , rowsz * 10 ,
1 , "" , 2 , 2 ,
rowsz , rowsz , rowsz - 2 , rowsz - 2 ,
19093 , `Typ 1` , 1 ,
19095 , `Typ 2` , 2
row = row + 1
I_ROW_END

---------------

Mit dem oben angeführten Skript werden die Elemente aber horizontal gereiht und nicht vertikal! (siehe Bild)

Wie kann ich hier vorgehen bzw. was mache ich falsch?

Anhänge (1)

Typ: image/png
95-mal heruntergeladen
Größe: 2,08 KiB

Lösung anzeigen Lösung verbergen

Die Werte für die Zellenbreite einfach erhöhen:

I_ROW `MyList` , 1
I_INFIELD_3 cur ,
clsz , row * rowsz , ctlw , rowsz * 2 ,
1 , "" , 2 , 2 ,
200 , rowsz , 198 , rowsz - 2 ,
19093 , "Typ 1" , 1 ,
19095 , "Typ 2" , 2
row = row + 1
I_ROW_END

Die Elemente werden in dem ListControl mit einem Wrap-Panel angeordnet.

11 - 15 (15)

Das ist mir bewusst aber das I_INFIELD_3 ist ja nicht dynamisch, also bringt mir der Trick mit den Arrays ja auch nicht wirklich was...

..naja, doch schon, wenn man den "Rest" der Parameter der Funktion in einem Array ablegt:

DIM vals[]
vals[1]=19093
vals[2]="Typ 1"
vals[3]=1
vals[4]=19095
vals[5]="Typ 2"
vals[6]=2
I_INFIELD_3 cur ,
clsz , row * rowsz , ctlw , rowsz * 2 ,
1 , "" , 2 , 2 ,
2*rowsz, 2*rowsz , 2*rowsz - 2 , 2*rowsz - 2 ,
vals ! statt GET(NUM_SP)

Das wäre vergleichbar zu
PUT 19093 , "Typ 1" , 1
PUT 19095 , "Typ 2" , 2
I_INFIELD_3 cur ,
...
GET(NUM_SP)

Beides müßte man erst in die SmartParts implementieren!

Wenn ich das mit deinem Code probiere, erhalte ich als Ergebnis IMMER ein Drop-Down-Menü und das Bild wird nicht hinterlegt..

Anhänge (1)

Typ: image/png
38-mal heruntergeladen
Größe: 6,79 KiB

Bitte immer den ganzen Beitrag LESEN!

Ganz unten steht:

Beides müßte man erst in die SmartParts implementieren!

Zitiert von: Nemo
Alternativ könnte man PUT/USE/GET so erweitern, dass neben numerischen auch String-Werte benutzt werden können.
It would be fantastic!
I am for this complementary development. It would solve a lot of issues.


11 - 15 (15)

Verwendung von Cookies:
Um die Webseite optimal gestalten und fortlaufend verbessern zu können, verwendet Allplan Cookies.
Durch die weitere Nutzung der Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden.  -  Mehr Informationen

Schließen