Hi Michelle,

You're on the right track with the labelFunction.  Give this a try:

private function getLabelUnit1(item:Object, column:DataGridColumn) :
Number
{
      return item.CaServiceIds.getItemAt(0);
}

private function getLabelUnit2(item:Object, column:DataGridColumn) :
Number
{
      return item.CaServiceIds.getItemAt(1);
}

<mx:columns>
<mx:DataGridColumn headerText="Content Name" dataField="ContentName"
width="64" wordWrap="true"/>
<mx:DataGridColumn headerText="Sellable Unit1"
labelFunction="getLabelUnit1" width="63" wordWrap="true"/>
<mx:DataGridColumn headerText="Sellable Unit2"
labelFunction="getLabelUnit2" width="63" wordWrap="true"/>
</mx:columns>

-TH

--- In [email protected], Michelle Davis <[EMAIL PROTECTED]> wrote:
>
> Hello,
>
> I have the following issue and I don't know what to do.
>
> My DatagGrid dataProvider is ArrayCollection contains the following
information
>
> _1363246720dgCaAssociation = mx.controls.DataGrid (@34090a1)
>  mx.controls.dataGridClasses.DataGridBase [inherited] =
>  columnCount = 3 : Number
>  columns = Array (@317af59)
>  dataProvider = webservices.caconfigurator.CaAssociationArray
(@3413601)
>   mx.collections.ArrayCollection [inherited] =
>   [0] = webservices.caconfigurator.CaAssociation (@33f3e51)
>    CaServiceIds = webservices.caconfigurator.CaServiceIdArray
(@3413501)
>     mx.collections.ArrayCollection [inherited] =
>     [0] = 242 [0xf2] : Number
>     [1] = 243 [0xf3] : Number
>    ContentName = "cu2" : String
>    Id = 1 : Number
>    RadioStationName = "knx" : String
>
>
>
> I called DataGridColumn to display ContentName on the first column,
CaServiceIds[0] on the second column and CaServiceIds[1]on the third
column. But not successful.  Please help
>
> I tried the following:
>
> 1) I used "dataField" in all 3 DataGridColumn.  The first column
displayed "cu2", second column display "242,243"  and third column
display "242,243"
>
> <mx:columns>
> <mx:DataGridColumn headerText="Content Name" dataField="ContentName"
width="64" wordWrap="true"/>
> <mx:DataGridColumn headerText="Sellable Unit1"
dataField="CaServiceIds" width="63" wordWrap="true"/>
> <mx:DataGridColumn headerText="Sellable Unit2"
dataField="CaServiceIds" width="63" wordWrap="true"/>
> </mx:columns>
>
>
>
>
>
> 2) I used "labelFunction to display CaServiceIds[0] and
CaServiceIds[1].  I got an error Main Thread (Suspended: Error: Unknown
Property: 'null'.)
> 
mx.collections::ListCollectionView/http://www.adobe.com/2006/actionscrip\
t/flash/proxy::getProperty
>  view::RadioStations/getLabelUnit1
>  mx.controls.dataGridClasses::DataGridColumn/itemToLabel
>  mx.controls.dataGridClasses::DataGridBase/makeListData
> 
mx.controls::DataGrid/http://www.adobe.com/2006/flex/mx/internal::setupR\
endererFromData
>  mx.controls::DataGrid/commitProperties
>  mx.core::UIComponent/validateProperties
>  mx.managers::LayoutManager/validateProperties
>  mx.managers::LayoutManager/doPhasedInstantiation
>  Function/http://adobe.com/AS3/2006/builtin::apply [no source]
>  mx.core::UIComponent/callLaterDispatcher2
>  mx.core::UIComponent/callLaterDispatcher
>
> }privatefunctiondisplaySellableUnit(ids:CaServiceIdArray,
index:Number):Number{returnids.getNumberAt(index)privatefunctiongetLabel\
Unit1(item:Object, column:DataGridColumn): Number{sellableUnit1 =
displaySellableUnit(item.CaServiceIds[column.dataField],0)varsellableUni\
t1:Number}returnsellableUnit1
> <mx:columns>
> <mx:DataGridColumn headerText="Content Name" dataField="ContentName"
width="64" wordWrap="true"/>
> <mx:DataGridColumn headerText="Sellable Unit1"
labelFunction="getLabelUnit1" width="63" wordWrap="true"/>
> <mx:DataGridColumn headerText="Sellable Unit2"
labelFunction="getLabelUnit2" width="63" wordWrap="true"/>
> </mx:columns>
>
> Thanks so much,
> Michelle  - beginner on Flex builder 3
>


Reply via email to