20. August 2009 19:51
Hi,
ich würde es fast so machen, wie es breites Christian vorgeschlagen hat. Allerdings nur fast
Ich würde als erstes auf der "Basisform" 3 Methoden schreiben, die nichts anderes machen als den jeweils aktuellen Datensatz einer DataSource zurück gibt.
Z.B. parmDataSource1Record, parmDataSource2Record, parmDataSource3Record
- Code:
Common parmDataSource1Record()
{
;
return DataSource1;
}
Die zweite Form würde ich auch (wie Christian bereits sagte), über ein MenuItem/MenuItemButton aufrufen (Hiermit ist gewährleistet, dass du den Caller in den Args übergeben bekommst).
Weiterhin würde ich bei der zweiten Form die init Methode überschreiben, sodass du Zugriff auf die "aufrufende" Form erhälst und die 3 Methoden ansprechen kannst, um dir die selektierten
Datensätze zu ermitteln.
- Code:
callingForm = element.args().caller();
record1 = callingForm.parmDataSource1Record();
record2 = callingForm.parmDataSource2Record();
record3 = callingForm.parmDataSource3Record();
Somit hätten wir schon mal alles was zum "Filtern" auf der neuen Form benötigt wird.
Um nun die "richtigen" bzw. auf der Basis-Form selektierten Datensätze auch in der neuen Form zu selektieren kann man z.B. mit findRecord den jeweiligen Datensatz "wählen".
- Code:
DataSource1.findRecord(record1);
DataSource2.findRecord(record2);
DataSource3.findRecord(record3);
Dies kannst du z.B. in der run Methode machen.