Пакетfl.controls.listClasses
Интерфейс public interface ICellRenderer
Средство реализации CellRenderer, DataGridCellEditor, ImageCell

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.28.0

Интерфейс ICellRenderer предоставляет методы и свойства, необходимые для средства визуализации ячейки. Этот интерфейс должен быть реализован во всех средствах визуализации ячейки, определенных пользователем. Все средства визуализации ячейки, определенные пользователем должны расширять либо класс UIComponent, либо подкласс класса UIComponent.

Посмотреть примеры

См. также

CellRenderer


Общедоступные свойства
 СвойствоОпределено
  data : Object
Определяет или задает объект, представляющий данные, связанные с компонентом.
ICellRenderer
  listData : ListData
Определяет или задает свойства списка, которые применяются к ячейке, например индекс и выбранные значения.
ICellRenderer
  selected : Boolean
Определяет или задает логическое значение, указывающее, выбрана ли данная ячейка.
ICellRenderer
Общедоступные методы
 МетодОпределено
  
Задает указанное состояние мыши для текущей ячейки.
ICellRenderer
  
setSize(width:Number, height:Number):void
Задает размер данных в соответствии со значениями (в пикселах), заданными параметрами ширины и высоты.
ICellRenderer
Сведения о свойстве
dataсвойство
data:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.28.0

Определяет или задает объект, представляющий данные, связанные с компонентом. Когда это значение установлено, данные компонента сохраняются, а компонент, в котором они содержатся, аннулируется. Аннулированный компонент автоматически перерисовывается.

Это свойство данных представляет объект, содержащий элемент в DataProvider, который представляет ячейка. Как правило, это свойство данных содержит стандартные свойства в зависимости от типа компонента. Данные в разделе CellRenderer компонента List или ComboBox содержат метку, значок и свойства данных; в TileList указаны метка и свойство source; в ячейке DataGrid содержатся значения для каждого столбца. Свойство данных может также содержать данные, указанные пользователем в отношении определенной ячейки. Пользователи могут расширить CellRenderer, чтобы компонент получил возможность обратиться к различным свойствам данных при визуализации ячейки.

Кроме того, чтобы указать свойства, которые применяются для прорисовки метки, значка и источника, можно использовать соответственно элементы labelField, labelFunction, iconField, iconFunction, sourceField и sourceFunction.


Реализация
    public function get data():Object
    public function set data(value:Object):void
listDataсвойство 
listData:ListData  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.28.0

Определяет или задает свойства списка, которые применяются к ячейке, например значения index и selected. Эти свойства списка автоматически обновляются после аннулирования ячейки.


Реализация
    public function get listData():ListData
    public function set listData(value:ListData):void
selectedсвойство 
selected:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.28.0

Определяет или задает логическое значение, указывающее, выбрана ли данная ячейка. Значение true указывает, что текущая ячейка выбрана; значение false указывает на то, что она не выбрана.


Реализация
    public function get selected():Boolean
    public function set selected(value:Boolean):void
Сведения о методе
setMouseState()метод
public function setMouseState(state:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.28.0

Задает указанное состояние мыши для текущей ячейки. Этот метод необходим для DataGrid, чтобы установить состояние мыши для всей строки, когда пользователь работает с одной ячейкой.

Параметры

state:String — Строка, определяющая состояние мыши (например, "вверх" или "над").

setSize()метод 
public function setSize(width:Number, height:Number):void

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.28.0

Задает размер данных в соответствии со значениями (в пикселах), заданными параметрами ширины и высоты.

Параметры

width:Number — Ширина, при которой показывается средство визуализации ячейки в пикселах.
 
height:Number — Высота, при которой показывается средство визуализации ячейки в пикселах.

Примеры Как пользоваться примерами
ICellRendererExample.as

В этом примере путем реализации класса ICellRenderer создается пользовательской средство визуализации ячейки.

Чтобы применить этот пример на практике, выполните следующие действия.

  1. Добавьте компоненты List и Button в библиотеку.
  2. Сохраните этот код под именем ICellRendererExample.as в том же каталоге, где и FLA-файл.
  3. Присвойте классу Document в FLA-файле значение ICellRendererExample.
package
{ 
    import fl.controls.List;
    import fl.data.DataProvider;
    import fl.events.ListEvent;
    import flash.display.Sprite;
    import flash.events.Event;
    
    public class ICellRendererExample extends Sprite
    {
        public function ICellRendererExample() {
            var dp:DataProvider = new DataProvider();
            var totalEntries:Number = 42;
            var i:Number;
            for(i=0; i<totalEntries; i++) {
                dp.addItem( { label:Math.random(), data:null } );            
            }
            
            var myList = new List();
            myList.setSize(300,300);
            myList.move(10,10);
            myList.setStyle('cellRenderer', MyRenderer);    
            myList.dataProvider = dp;
            addChild(myList);
        }
    }
}
MyRenderer.as

Сохраните следующий код под именем MyRenderer.as в том же каталоге, где и FLA-файл.
package
{
    import fl.controls.LabelButton;
    import fl.controls.listClasses.ICellRenderer;
    import fl.controls.listClasses.ListData;
    
    public class MyRenderer extends LabelButton implements ICellRenderer {
        private var _listData:ListData;
        private var _data:Object;
        
        public function MyRenderer() {
        }

        public function set listData(newListData:ListData):void {
            _listData = newListData;
            label = "Random: " + _listData.label;
            drawRandomColor();
        }

        private function drawRandomColor():void {
            graphics.beginFill(Math.random()*0xFFFFFF);
            graphics.drawRect(0,0,20,20);
            graphics.endFill();            
        }

        public function get listData():ListData {
            return _listData;
        }

        public function set data(newData:Object):void {
            _data = newData;
        }

        public function get data():Object {
            return _data;
        }
    }
}