Das Drag&Drop bei einem AdvancedDataGrid ist recht simpel und funktioniert identisch wie beim bisherigen DataGrid. Etwas komplizierter wird es bei einem gruppierten AdvancedDataGrid. Bei der Gruppierung werden Datenfelder mit identischem Inhalt zu einer Gruppe zusammengeführt. Im AdvancedDataGrid werden Gruppen als aufklappbarer Baum innerhalb der Tabellenstruktur dargestellt. Die Gruppierung wird dabei einfach per MXML definiert (siehe Beispiele bei Adobe-Livedocs).
Das Standard Drag&Drop erlaubt lediglich das droppen zwischen zwei Tabelleneinträgen. Nun haben wir aber durch die Gruppierung eine Baumstruktur und möchten Items direkt in eine Gruppe (einen Ordner) droppen ohne diese zu öffnen. Dabei genügt es nicht wenn die “dropEnabled”-Eigenschaft für das AdvancedDataGrid gesetzt wird. Vielmehr müssen die gruppierten Einträge ebenfalls aus Objekten mit einer drop-Eigenschaft bestehen. Hierfür bietet sich das List-Objekt an (siehe Beispiel). Zu diesem List-Objekt müssen wir lediglich noch ein Label Objekt hinzugefügen und natürlich die “dropEnabled”-Eigenschaft setzen. Ersetzten wir nun in der ArrayCollection die zu gruppierenden Werte mit den entsprechenden List-Objekten können wir per Drag&Drop direkt Items auf eine Gruppe ziehen.
Beispiel:
var usergroup_list:List = new List; usergroup_list.dropEnabled = true; usergroup_list.name = "GroupA"; var usergroup_label:Label = new Label; usergroup_label.text = usergroup_list.name; usergroup_list.addChild(usergroup_label);
