2009-07-15 10 views
1
var google:Array = datagridID.selectedIndices; 

Jetzt ist das gleich dem einen unten.Ist selectedIndexes ein Array-Typ?

var google:Array = ["0","1", "2"]; 

Mein Problem ist, das über einen seiner nicht als Array nehmen, aber wenn ich es so definieren es tut.

Alert.show (google) gibt mir 0,1,2

for each(var i:String in google) { 
Alert.show(dg.selectedItems[i]["member_id"]); 
} 

Der obige Code liefert mir nur einen Wert.

Antwort

2

Warum zuerst das Array von selectedIndexis verwenden und dann das Array von selectedItems verwenden? Verwenden Sie einfach das Array von selectedItems sofort wie diese

for each(var item:Object in this.dataGrid.selectedItems){ 
    trace("Item: "+ ObjectUtil.toString(item)); 
} 

In Ihrem Fall kann man sagen:

for each(var item:Object in dg.selectedItems) { 
    Alert.show(item["member_id"]); 
} 

Und wenn Sie das zuletzt ausgewählte Element in der Datagrid wollen Sie tun

Alert.show(dg.selectedItems[0]); 

Wenn Sie das letzte Element in dem Array von ausgewählten Elementen möchten, können Sie dies tun

Alert.show(dg.selectedItems[dg.selectedItems.length -1]); 
+0

Sie haben meinen Tag Mann gemacht ... Vielen Dank – Kevin

1

Sie haben einen Tippfehler gemacht. Es sollte datagridID.selectedIndices

Es ist das gleiche, beide sind Arrays. Und ich habe es getestet und beide sollten funktionieren. Halten Sie die STRG-Taste gedrückt und wählen Sie einige Zeilen in einem Datagrid aus. Er sollte ein Array aller ausgewählten Zeilen haben. Immer den zuletzt ausgewählten vor den anderen hinzufügen. Und warum google als Variablennamen verwenden? Es beschreibt nicht sehr, was sich innerhalb des Arrays befindet.

+0

Wenn ich alarmiere, bekomme ich als 0,1,2 in einem einzigen Fenster ... – Kevin

+0

überprüfen Sie meinen aktualisierten Code. – Kevin