Всем привет нужно в AdvancedDataGrid показывать строку в зависимости от содержимого датапровайдера в виде одной ячейки. Т.е. идёт несколько строк как обычно, потом одна сплошная и опять несколько строк.
Данные будут подгружаться в таблицу динамически, поэтому решение "итемрендерер - таблица" не подходит, группировка тоже.
Т.е. нужен какой - то вариант с использованием AdvancedDataGridRendererProvider
Пробовал с иерархической структурой, но начальству не нравится расхлопывающиеся итемы
Может кто - то подскажет как это провернуть?
Другими словами есть сниппет приведённый ниже, нужно менять columnSpan в зависимости от содержимого строки
Код AS3:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
private var dataC:ArrayCollection = new ArrayCollection([
{
summary:"sum1"
},
{
type:"Discovery3",
value:11
},
{
type:"Discovery2",
value:11
},
{
type:"Discovery2",
value:11
},
{
summary:"sum3"
},
]);
function dataChangeEvent(event:FlexEvent):void
{
if (data.hasOwnProperty(name))
{
summaryRendererProvider.columnIndex = 2
summaryRendererProvider.columnSpan = 1;
}else{
summaryRendererProvider.columnIndex = 0
summaryRendererProvider.columnSpan = 0;
}
}
]]>
</mx:Script>
<mx:Panel title="Blah-Blah"
height="75%" width="75%" layout="horizontal"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
<mx:AdvancedDataGrid id="myADG"
width="100%" height="100%"
variableRowHeight="true" dataProvider="{dataC}">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="type" headerText="type"/>
<mx:AdvancedDataGridColumn dataField="value" headerText="value"/>
<mx:AdvancedDataGridColumn dataField="summary" headerText="summary"/>
</mx:columns>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider
dataField="summary"
id="summaryRendererProvider" >
<mx:renderer >
<mx:Component>
<mx:Label height="30" text="{data.summary}" textAlign="center" />
</mx:Component>
</mx:renderer>
</mx:AdvancedDataGridRendererProvider>
</mx:rendererProviders>
</mx:AdvancedDataGrid>
</mx:Panel>
</mx:Application>