PDA

Просмотр полной версии : разные источники данных для столбцов DataGrid


Онтожка
13.06.2007, 21:01
Ситуация такая - удалённо вызываю пхп-функцию, которая возвращает xml-данные, которые заносятся в DataGrid.

Пробема в том что в сетке есть один столбец, который просто должен отображать номер ячеек по порядку (1, 2, 3 итд), то есть он не должен заполняться из xml как все остальные столбцы, как это можно реализовать?

baron27
14.06.2007, 01:20
сделай этому столбцу итемрендерер, который будет состоять из какого-нибудь label, который отображает реальный индекс строки - есть у него такое свойство - не помню точно как называется.

Онтожка
14.06.2007, 02:52
спасибо, прогресс есть, сделал примерно так:

<mx:DataGridColumn itemRenderer="Numerator" />

и в компоненте Numerator:

<mx:Label text="{this.instanceIndex}"/>


Но после этого в каждой ячейке выдаёт "-1", я так-же перепробовал все мало-мальски подходящие по смыслу свойства, ни одно не выдаёт реальный индекс строки блин...

Может вспомнишь таки как эта переменная называется, или может this в этом случае - не то?

Онтожка
14.06.2007, 02:58
узнал только что из хэлпа что если компонент не в Repeater то instanceIndex всегда будет -1, но это проблему к сожалению не решает

Онтожка
14.06.2007, 15:39
проблему решил путём создания ArrayCollection и последующего скармливания её датагриду, вот так:

private function onResult( result:String ) : void
{
xml = new XML(result);
var arc:ArrayCollection = new ArrayCollection()

for(var i:Number=0 ; i < xml.song.length() ; i++){
arc.addItem({order:i+1,
dur:xml.song[i].@duration,
des:xml.song[i].@description
})
}

listTracks.dataProvider = arc
}


Не знаю, насколько такое решение политкорректно, но по крайней мере работает.

Да, но всё же хотелось бы узнать за реальный индекс строки из itemRenderer, если можно :)

baron27
14.06.2007, 15:59
http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=cellrenderer_072_15.html

Онтожка
14.06.2007, 18:52
супер, убил собственное корявое решение и сделал как написано по ссылке

Senretsu
11.07.2007, 15:11
(Вопрос по этой же теме (нумерую строки в таблице) :

При наличии скроллинга в таблице тема с rowIndex падает(RowIndex работает только для видимых строк, причем даже если над строкой есть еще строки, но их не видно, то этой строке дается индекс "1"), как проще всего решить эту проблему?)

проблему решил:yahoo:

Онтожка
14.07.2007, 00:19
хмм.. а как если не секрет? :)

Senretsu
14.07.2007, 15:47
в компоненте, где использовал rowIndex из dataList прибавил еще к этому значению parentDocument.myDataGrid.verticalScrollPosition

Онтожка
14.07.2007, 19:50
ловко, ловко :)
спасибо, вчера попробовал - и действительно, была такая проблема.