Мне было интересно, если кто-нибудь повезло со следующим senario in flex.Flex switch item-renderer
Я хотел бы иметь возможность персонализировать рендеринга элементов, который делегирует другому визуализатору внутри.
Причина этого была бы в datagrid, например, отображая флажок, если у dataprovider для строки было булево значение. Использование средства рендеринга элементов по умолчанию, когда значение было не логическим.
В основном я надеялся использовать прокси-объект (хотя и не обязательно прокси-класс), чтобы я мог сделать рендерер, который делегировал все свои обязанности вспомогательному рендерингу.
Трудно объяснить.
Edit 1
Я думаю, что следующее дает более четкое представление о том, что я имел в виду. Это быстро срабатывает для демонстрации идеи.
SwitchingRenderer.as
package com.example
{
import mx.controls.CheckBox;
import mx.controls.dataGridClasses.DataGridItemRenderer;
import mx.controls.listClasses.BaseListData;
import mx.controls.listClasses.IDropInListItemRenderer;
import mx.core.IDataRenderer;
import mx.core.UIComponent;
public class SwitchingRenderer extends UIComponent implements IDataRenderer, IDropInListItemRenderer
{
private var checkboxRenderer:CheckBox;
private var defaultRenderer:DataGridItemRenderer;
private var currentRenderer:IDataRenderer;
public function SwitchingRenderer()
{
this.checkboxRenderer = new CheckBox();
this.defaultRenderer = new DataGridItemRenderer();
this.currentRenderer = defaultRenderer();
super();
}
public function get data():Object
{
//If the data for this cell is a boolean
// currentRender = checkBoxRenderer
// otherwise
// currentRenderer = defaultRenderer
}
public function set data(value:Object):void
{
currentRenderer.data = value;
}
public function get listData():BaseListData
{
return currentRenderer.listData;
}
public function set listData(value:BaseListData):void
{
currentRenderer.listData = value;
}
}
}
Я надеюсь, что я разъяснены мой вопрос несколько , – Wes
Я отредактировал свой ответ соответственно, однако я укажу, что у вашего оригинального сообщения нет вопросов. У вас есть проблема с попыткой реализовать это? Вы уже определили алгоритмическую логику в своем вопросе. – JeffryHouser
Да, я подумал об этом раньше. Я понимаю, что мой вопрос был другим. Это полезный ответ, но да, я пытаюсь понять, будет ли работать этот метод. – Wes