Цитата:
Сообщение от KIVagant
Не первый раз вижу в форуме по этой теме в качестве ответа ссылку на какой-то PictureInDataGrid.rar. Странно, что никто до сих пор не возмутился. Приводимый пример ужасен для рассмотрения. Комментариев нет, логика запутанная, а именование переменных вида "sp", "cl", "s", "dp" вообще доводит до бешенства.
[/as3]
|
Так дайвайте рассмотрим основной код

Код AS3:
import fl.controls.*;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;
import fl.controls.listClasses.*;
import fl.events.*;
var i:uint;
var totalRows:uint = 6;
var c:int;
var dp:DataProvider = new DataProvider();
for (i = 0; i < totalRows; i++) {
dp.addItem({col1:new MyDatObj('XM'+i, Star), col2:'r'+i, col3:'m'+i, id:c++});
}
var dg:DataGrid = new DataGrid();
dg.setSize(550, 400);
dg.columns = ["col1", "col2", "col3"];
dg.dataProvider = dp;
addChild(dg);
dg.addEventListener(ListEvent.ITEM_CLICK, listEventHandler);
MyRenderer.visio = Pricolo;
MyRenderer.dp = dp;
dg.rowHeight = 100;
dg.setStyle('cellRenderer', MyRenderer);
function listEventHandler(evt:ListEvent):void{
var t:DataGrid = evt.currentTarget as DataGrid;
var dP:DataProvider = t.dataProvider;
trace("You are above row: " + evt.rowIndex + " column: " + evt.columnIndex);
var head:String = t.columns[evt.columnIndex].headerText;
trace(dP.getItemAt(evt.index)[head]);//содержимое клацнутой ячейки
}
А че там разобраться то?
Я его в прошлом году за 10 мин написал, (почти все из хелпа скопипастено), как бы подсказка, Star это рисунок в библиотеке, еще есть Pricolo задний фон ячейки.
О чем можно было догадаться запустив по ctrl+enter
Насчет переменных в классах в которые лезть, я думал что никто не будет.
"sp", "cl", "s", "dp"
sp - спрайт
cl - var cl:Class;
s - строка
dp дата провайдер
Тк. выше перечисленное используется в одном экземпляре, комметировать оное смысла не вижу.