IDataRenderer defines the data property, which is nothing more than the piece of data the control is representing. Most often this is an element from a collection/data provider. So it might be an instance of a Person class, for instance.
IDropInListItemRenderer defines the listData property, which holds info about the renderer's context. listData is typed as BaseListData, which defines things like rowIndex (row of the list the renderer is currently in) and owner (List, DataGrid etc that the renderer is a child of). Also, as you alluded to, listData is usually typed as a subclass of BaseListData, like DataGridListData, ListData or TreeListData based on what type of component its owner is. In the case of DataGridListData you get additional context info like columnIndex and dataField. Hopefully that helps clear things up. IDataRenderer is about straight up data, IDropInListItemRenderer is more about context within a list. Ben --- In [email protected], "rtop10" <[EMAIL PROTECTED]> wrote: > > What is the rationale behind having two interfaces IDataRenderer and > IDropInListItemRenderer? After reading livedocs for several hours, I > still do not understand what is the difference between an item > renderer and the so-called drop-in item renderer. Am I the only one? > > Should not there be only one interface called ICellRenderer with a > data property whose value can be passed as DataGridCellData, > ListCellData or TreeCellData etc. To me it appears that Item > renderer and item editor concept is unnecessarily too complicated in > flex. The result is that controls like Label has two properties data > and listData to confuse developers even more. > > Can anyone please explain how these properties are used? > > - Indra >

