My understanding of it all is pretty negligible. I found an example similar
to what I wanted to do online, then modified it just a little to make it
work. My problem was I needed the Summary rows to display text
(templateType), but I also needed them to sort based on a different field
(templateTypeID). I couldn't figure out how to tell it to sort on one, but
display the other. My little hack works, but if I could somehow send the
text to the renderer along with the int, or still have it sort on the int
and only send the text I would at least feel like I'm doing it the right way
instead of duct-taping it.
If it will help here are some relevant code samples.
here's the grid calling the renderer
************************************************************
<mx:AdvancedDataGrid defaultLeafIcon="{null}" folderClosedIcon="{null}"
folderOpenIcon="{null}"
displayItemsExpanded="true" id="gridTemplates" left="10" right="10"
top="10" bottom="50" click="gridClick();">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{acTemplates}">
<mx:Grouping>
<mx:GroupingField name="templateTypeID">
<mx:SummaryRow summaryPlacement="group">
<mx:fields>
<mx:SummaryField dataField="templateTypeID"
label="templateTypeID" />
</mx:fields>
</mx:SummaryRow>
</mx:GroupingField>
</mx:Grouping>
</mx:GroupingCollection>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="name" headerText="Formal
Name"
width="280"/>
<mx:AdvancedDataGridColumn dataField="abbreviation"
headerText="Short
Name" width="150"/>
<mx:AdvancedDataGridColumn dataField="insertDate"
headerText="Date
Created" width="150"/>
<mx:AdvancedDataGridColumn dataField="templateID" width="0"
visible="false"/>
</mx:columns>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider dataField="templateTypeID"
columnIndex="0"
columnSpan="0"
depth="1"
renderer="SummaryRenderer"/>
</mx:rendererProviders>
</mx:AdvancedDataGrid>
************************************************************
and here's what I'm doing in the renderer
************************************************************
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#BBBBBB">
<mx:Label id="rowLabel" textAlign="center" width="100%">
<mx:Script>
<![CDATA[
override public function set data( value:Object ):void
{
import mx.controls.Alert;
super.data = value;
var items:Array =
parentApplication.getChildByName("pubData").text.split("|");
var obj:Object = new Object();
for (var i:String in items){
var props:Array = items[i].split(":");
obj[props[0]] = props[1];
}
//Alert.show(parentApplication.objTemplate_ID["1"].templateType.toString());
// set the html text
rowLabel.htmlText = "" + obj[data.GroupLabel] + "";
}
]]>
</mx:Script>
</mx:Label>
</mx:Canvas>
************************************************************
Tracy Spratt-2 wrote:
>
> When (in its life cycle) do you need this object in the renderer? What
> does
> it do? When is it initialized or updated?
>
> Do you have a good understanding of itemRenderer recycling? Typically,
> there are two kinds of data in a renderer. Static data, which can be
> compiled in, and item data, which comes from the dataProvider item.
> Dynamic
> data that is not from the item raises questions.
>
> Tracy Spratt,
>
> Lariat Services, development services available
>
--
View this message in context:
http://old.nabble.com/Passing-an-object-to-a-rendererProvider-tp26396466p26412742.html
Sent from the FlexCoders mailing list archive at Nabble.com.