Показать сообщение отдельно
Старый 02.03.2010, 10:52
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 3  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Цитата:
Сообщение от 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 дата провайдер

Тк. выше перечисленное используется в одном экземпляре, комметировать оное смысла не вижу.
__________________
Гоночка