...feel the spirit of Microsoft Dynamics AX RSS 2.0
 Wednesday, February 27, 2008

Ich habe die Erfahrung gemacht, dass FormControls, die zur Laufzeit direkt auf dem Design der Form erzeugt wurden, sich meisst am rechten Rand befinden.

Sollen diese FormControls nun aber nicht am Rechten, sondern am Linken Rand erscheinen, kann man dieses natürlich schon beim Erzeugen dieser Controls mittels

FormGroupControl.leftMode(FormLeft::LeftEdge) 

festlegen.

Die Probleme treten dann auf, wenn mehrere FormControls erzeugt werden und diese am Linken Rand erscheinen sollen.

Werden nun alle FormControls mit FormControl.leftMode(FormLeft::leftEdge) an den Linken Rand verschoben, erhält man dann unter Umständen erstaunliche Ergebnisse – nur nicht die Gewünschten.

Mit Hilfe der Methode

FormControl.moveControl(int _controlId [, int _insertAfterId = 0])

kann jedes Control an eine beliebige Stelle verschoben werden. Der Übergabeparameter ist hier die ID des zu verschiebenen FormControls. Diese Methode ist nur bei Container Controls, wie FormGroupControl, FormGridControl oder auf dem Design der Form verfügbar.

Wird nur 

ÜbergeordneteFormControl.moveControl(ControlIDderzuveschiebenenControl)

verwendet, wird das Control nur nach links (an die erste Position des Übergeordneten Controls) verschoben.

Soll das FormControl hinter einem bestimmten FormControl innerhalb desselben übergeordneten FormControls platziert werden, wird

Übergeordnete.moveControl(ControlIDderzuveschiebenenControl, ControlIDhinterDerdieControlangefügtwerdensoll)

benutzt.

Mit .moveControl() können auch FormControls in das übergeordnete Control eingefügt werden, die vorher nicht in dem übergeordneten Control enthalten waren. 

Anbei eine einfache Form, die schon ein FromGroupControl mit zwei Controls enthält,  bei der zur Laufzeit zwei neue Controls hinzugefügt werden und die mittels Button nach links verschoben werden.

FormDynamicControlsMove.zip (2,55 KB)
Wednesday, February 27, 2008 8:40:13 PM (Mitteleuropäische Zeit, UTC+01:00)  Mathias Füßler  #    Comments [2] - Trackback


Wednesday, March 05, 2008 2:26:31 PM (Mitteleuropäische Zeit, UTC+01:00)
Thank you, nice post, very informative. Regards.
Thursday, June 19, 2008 6:23:45 AM (Mitteleuropäische Zeit, UTC+01:00)
Hallo Axel

Hatte gestern schon einen Kommentar geschrieben, dass es mir mit dem verschieben von Controls zwischen Containern nicht ganz klappt.

Habe inzwischen rausgefunden woran es lag:
Der moveControl-Befehl muss auf dem Ziel-Container ausgeführt werden und nicht auf dem Quell-Container, in welchem sich das zu verschiebende Objekt befindet.
Also:
Flasch; mutterContainer.moveControl(kindControl, vetterControl)
Richtig; onkelContainer.moveControl(kindControl, vetterControl)

Gruss
Patrick


PS: Wenn man ein Kommentar schreibt und "Kommentar speichern" auslöst, weiss man jeweils nicht so ganz genau, ob der Kommentar versandt wurde oder nicht - denn es erscheint keine Bestätigungsmeldung, sondern die gesamten Formulardaten werden wieder vorgestellt ....

All comments require the approval of the site owner before being displayed.
Name
E-mail
Home page

Comment (Some html is allowed: )  

Enter the code shown (prevents robots):



Translate
Über/Kontakt

     







© Copyright 2009 Axel Kühn
Sign In
Subscribe this blog
Archiv
<January 2009>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
Statistik
Gesamte Posts: 96
Dieses Jahr: 0
Dieser Monat: 0
Diese Woche: 0
Kommentare: 45





All Content © 2009, Axel Kühn
DasBlog theme 'Business' created by Christoph De Baene (delarou)