SelectedIndexes является типом Array? - PullRequest
1 голос
/ 15 июля 2009
var google:Array = datagridID.selectedIndices; 

Теперь это равняется приведенному ниже.

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

Моя проблема в том, что описанная выше проблема не в том, чтобы принимать в качестве массива, но когда я определяю его так, он делает это.

Alert.show (Google) дает мне 0,1,2

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

Приведенный выше код дает мне только одно значение.

Ответы [ 2 ]

2 голосов
/ 15 июля 2009

Зачем сначала использовать массив selectedIndexis, а затем использовать массив selectedItems? Просто используйте массив selectedItems сразу, как это

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

В вашем случае вы можете сказать:

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

И если вы хотите последний выбранный элемент в сетке данных, вы делаете

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

если вы хотите последний элемент в массиве выбранных элементов, вы можете сделать это

Alert.show(dg.selectedItems[dg.selectedItems.length -1]);
1 голос
/ 15 июля 2009

Вы сделали опечатку. Это должен быть datagridID.selectedIndices

Это то же самое, оба массива. И я проверил это, и оба должны работать. Удерживая клавишу CTRL, выберите несколько строк в таблице данных, и он должен иметь массив всех выбранных вами линий. Всегда добавляя последний выбранный перед остальными. А зачем использовать гугл в качестве имени переменной? Это не очень описывает, что находится внутри массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...