24.10.2009, 23:05 | #1 |
Участник
|
jinx: Microsoft Dynamics AX – Den zuletzt ausgewählten Datensatz ermitteln
In Microsoft Dynamics AX beziehen Masken ihre Daten, oder anders gesagt die Datenwelche sie anzeigen, über so genannte DataSources.
In einer DataSource sind somit die aktuellen auf der Maske angezeigten Daten (lokal)gespeichert. Zugriff auf den jeweils aktuell ausgewählten Datensatz erhält man üblicherweise übergenau diese DataSource. Der ausgewählte Datensatz kann unter anderem auch, z.B. durch ein MenuItem(Button),an eine Funktion oder andere Maske übergeben werden. Hierfür muss nur die Eigenschaft “DataSource”, in diesem Beispiel des MenuItem(Button),entsprechend eingestellt sein. Ist keine DataSource in den Eigenschaften hinterlegt wird immer die erste DataSourceder Query verwendet bzw. dessen aktiver Datensatz übergeben. In der Regel ist dies die DataSource, welche beim Erstellen der Maske als erstes hinzugefügtoder erstellt wurde (Ausnahme ist hier eine eventuelle Manipulation der Query perProgrammcode). Dieses Vorgehen ist für 90% aller Fälle das wohl am besten geeignete Vorgehen undwird in dieser Weise auch vom Dynamics AX Standard verwendet. Leider gibt es Anwendungsfälle, bei denen diese “starre Verbindung” von DataSourceund z.B. Button oder MenuItem nicht funktioniert, beziehungsweise nicht zum gewünschtenErgebnis führt. Angenommen man hat eine Maske mit zwei DataSources (CustTable und SalesTable), derenDaten über zwei Grids angezeigt werden, sowie einen Button, welcher eine Operationmit dem zuletzt ausgewählten Datensatz (unabhängig von der DataSource) durchführensoll. Wenn ein Datensatz der DataSource “CustTable” selektiert wurde, soll dieser verarbeitetwerden. Ist zuletzt ein Datensatz der DataSource “SalesTable” selektiert wurden, soll dieOperation mit diesem Datensatz erfolgen. |
|
|
|