flex air datagrid itemRenderer - PullRequest
0 голосов
/ 11 мая 2009

У меня есть сетка данных с пользовательским itemRenderer. Когда я нажимаю на ячейку, я получаю ее ссылку. Теперь я хотел бы получить ссылку на другой столбец в той же строке. например В таблице данных, которую я щелкнул в 4-м столбце 3-го ряда, я получаю ссылку на это без проблем. Теперь я хотел бы получить ссылку на 1-й столбец той же строки, т.е. 3-й.

Есть ли способ?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 мая 2009

не знаю, правильно ли я понимаю, но вот так ...

добавьте в свою сетку событие щелчка

<mx:DataGrid id="myDatagrid" click="getValues()" dataProvider="{someArrayColl}"/>

скажем, первый столбец имеет имя: 'id_column' между строками сценария:

private function getValues():void{
var first_column_value:String = myDatagrid.selectedItem.id_column;

//if you want the entire row in 1 Array
var the_selected_row:Array = myDatagrid.selectedItem as Array;
}

не проверял оператор массива, но он должен работать. myDatagrid.selectedItem по умолчанию является объектом массива коллекций.

// Вы должны поместить оператор try и catch в функцию getValues, чтобы перехватить исключение, когда пользователи нажимают на элемент заголовка или полосу прокрутки данных

0 голосов
/ 13 мая 2009

Ваши собственные средства визуализации элементов должны управляться данными. Другими словами, все, что вас волнует, должно быть в свойстве рендерера «data». Если вам нужно манипулировать другой ячейкой, вы должны манипулировать данными для строки, и ячейка должна обновиться сама.

Вот почему вам трудно с этим - нет хорошего способа получить ссылку на другую ячейку. Есть плохие способы, но они плохие:)

...