PDA

Просмотр полной версии : DataGrid И XML


Захаров
02.04.2008, 17:01
<Result>
<Row><item rowID='1' value='строка 1' /><item colID='1' rowID='1' color='FF0000' value='ячейка 1' /><item colID='2' rowID='1' color='CFCFCF' value='ячейка 4' /><item colID='3' rowID='1' color='null' value='' /><item colID='4' rowID='1' color='null' value='' /></Row>
<Row><item rowID='2' value='строка 2' /><item colID='1' rowID='2' color='null' value='' /><item colID='2' rowID='2' color='00FF00' value='ячейка 2' /><item colID='3' rowID='2' color='null' value='' /><item colID='4' rowID='2' color='null' value='' /></Row>
<Row><item rowID='3' value='строка 3' /><item colID='1' rowID='3' color='null' value='' /><item colID='2' rowID='3' color='null' value='' /><item colID='3' rowID='3' color='0000FF' value='ячейка 3' /><item colID='4' rowID='3' color='null' value='' /></Row>
<Row><item rowID='4' value='строка 4' /><item colID='1' rowID='4' color='AABBCC' value='test' /><item colID='2' rowID='4' color='null' value='' /><item colID='3' rowID='4' color='null' value='' /><item colID='4' rowID='4' color='null' value='' /></Row>
</Result>
это исходный XML как его прикрутить к DataGrid что бы в каждой ячейке был свой item ? вывод самих значений я сделал через LabelFunction но при использовании Эдитора я получаю полный ROW и как найти нужный айтим не знаю помогите...

Вот такой штукой определяю индекс
columnIndex = int(DataGrid(this.parent.parent).editedItemPosition.columnIndex);
и так определяю нужное значение
_data.item[columnIndex].@value

А как определить номер колонки в DataGridItemRenderer ?

this.listData.columnIndex нашел такой способ

userk
08.04.2008, 12:17
А из Хелпа пример не разбирали ?
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
private function itemClickEvent(event:ListEvent):void {
clickColumn.text=String(event.columnIndex);
clickRow.text=String(event.rowIndex);
eventType.text=event.type;
}
]]>
</mx:Script>
<mx:DataGrid id="myGrid" width="350" height="150"
itemClick="itemClickEvent(event);">
....

Захаров
08.04.2008, 13:03
Я на свои вопросы уже ответил! =) просто администраторы объеденили их в один пост. Но тем не менее уважаемый а какой эвент у меня происходит ? я могу редактировать ячеку на клик мышки на нажатие кнопки ввод перемещаясь табом по гриду и что на все это эвенты вешать не КОМИЛЬФО!

userk
08.04.2008, 13:29
itemClick="itemClickEvent(event)
и его нужно разбирать.
если DataGrid отобразил всё , что в ХМЛ , наверное , можно добраться до элемента. Если нет , то проще переделать ХМЛ , чтобы самому было ясно ,как выделить элемент. (index, name,@label). Простой пример

....
externalXML.pic[event.rowIndex].preview

выделили картинку , по которой кликнули.
...чем могу...