Просто проверьте, поможет ли это вам.Вместо того чтобы использовать пользовательский компонент для объединения всех трех датчиков, вы можете поместить их в отдельные столбцы и предоставить соответствующего поставщика данных.Вы также можете достичь именно того, чего хотите, но тогда вам придется соответствующим образом обрабатывать данные, которые вы передаете в качестве поставщика данных в свой компонент.Следующий подход кажется более простым:
<mx:DataGrid id="yourGrid"
height="388" width="663"
dataProvider="{yourDP}"
>
<mx:columns>
<mx:DataGridColumn headerText="Type" width="80">
<mx:itemRenderer>
<mx:Component>
<bttc:Gauge id="gauge1" diameter="50" width="50" verticalCenter="0" horizontalCenter="-111" minValue="1" maxValue="10" value="{cpuValue}" valueFormatter="{formatter}"
bigTicks="9" smallTicks="45" showMinMax="false" showValue="false"
pointerColor="white" automationName="T"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="Type" width="80">
<mx:itemRenderer>
<mx:Component>
<bttc:Gauge id="gauge2" diameter="50" width="50" verticalCenter="0" horizontalCenter="-111" minValue="1" maxValue="10" value="{memoryValue}" valueFormatter="{formatter}"
bigTicks="9" smallTicks="45" showMinMax="false" showValue="false"
pointerColor="white" automationName="T"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="Type" width="80">
<mx:itemRenderer>
<mx:Component>
<bttc:Gauge id="gauge3" diameter="50" width="50" verticalCenter="0" horizontalCenter="-111" minValue="1" maxValue="10" value="{diskValue}" valueFormatter="{formatter}"
bigTicks="9" smallTicks="45" showMinMax="false" showValue="false"
pointerColor="white" automationName="T"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="Type" width="80">
<mx:itemRenderer>
<mx:Component>
<s:Image source="assets/led/big/{statusImage}" />
<s:Label color="white" text="{serverName}" textAlign="center"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
Другой способ - передать весь компонент в качестве средства визуализации элементов, получая подсказки сверху:
<mx:DataGrid id="yourGrid"
height="388" width="663"
dataProvider="{yourDP}"
>
<mx:columns>
<mx:DataGridColumn headerText="Type" width="80">
<mx:itemRenderer>
<mx:Component>
<someNameSpace:YourComponent cpuvalue={cpuValue} diskValue={diskValue}/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
Еще один момент, который следует сделать, если вашпоставщик данных, назначенный для dataGrid, имеет все значения, поэтому внутри вашего компонента вы можете получить к ним доступ, например data.variableName:
<s:TileGroup width="101" paddingLeft="20" paddingRight="2">
<bttc:Gauge id="gauge"
diameter="50" width="50"
verticalCenter="0" horizontalCenter="-111"
minValue="1" maxValue="10" value="{data.cpuValue}" valueFormatter="{formatter}"
bigTicks="9" smallTicks="45" showMinMax="false" showValue="false" pointerColor="white"/>
</s:TileGroup>
<s:TileGroup width="101" paddingLeft="20" paddingRight="2">
<bttc:Gauge id="gauge1"
diameter="50" width="50"
verticalCenter="0" horizontalCenter="-111"
minValue="1" maxValue="10" value="{data.memoryValue}" valueFormatter="{formatter}"
bigTicks="9" smallTicks="45" showMinMax="false" showValue="false" pointerColor="white" automationName="T"/>
</s:TileGroup>
<s:TileGroup width="101" paddingLeft="20" paddingRight="2">
<bttc:Gauge id="gauge2"
diameter="50" width="50"
verticalCenter="0" horizontalCenter="-111"
minValue="1" maxValue="10" value="{data.diskValue}" valueFormatter="{formatter}"
bigTicks="9" smallTicks="45" showMinMax="false" showValue="false" pointerColor="white"/>
</s:TileGroup>
<s:TileGroup width="40" paddingTop="3">
<s:Image source="assets/led/big/{statusImage}" />
<s:Label color="white" text="{data.serverName}" textAlign="center"/>
</s:TileGroup>
, в этом случае вы можете передать свой компонент как средство визуализации элементов следующим образом:
<mx:DataGrid dataProvider="{yourDP}" >
<mx:columns>
<mx:DataGridColumn itemRenderer="com.somePath.yourComponent"/>
</mx:columns>
</mx:DataGrid>
Надеюсь, это поможет.