...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 ....

Comments are closed.


Translate
Über/Kontakt

     







© Copyright 2012 Axel Kühn
Sign In
Subscribe this blog
Blogroll
 Arijit Basu
 Axapta Blog
Blog around Microsoft Business Solutions Axapta by Helmut Wimmer
 BlaBlubBlog
Der Blog von Kai Gloth
 Dave Bowles
 Dick Wenning
Ax(apta) start pages
 Fred Shen
 Harish Mohanbabu
 jinx´s AX Blog
Everything about Microsoft Dynamcis AX
 Lars Keller
All about .NET, VSTS, VSTO and more
 Max Belugin
 TaReMoTi Blog
Der Blog von Karsten Döring
Archiv
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Statistik
Gesamte Posts: 137
Dieses Jahr: 0
Dieser Monat: 0
Diese Woche: 0
Kommentare: 49





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