<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:lo="*" layout="vertical"
title="Test: Column Hiding" creationComplete="onCreation()" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
private static const loremIpsum:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
[Bindable] private var rows:Array = null;
private var colsIndex:int = 0;
private function onCreation():void {
setCols(0);
setRows(100);
}
private function setRows(numRows:int):void {
var newRows:Array = new Array();
for (var rowIndex:int = 0; rowIndex < numRows; rowIndex++) {
var newRow:Object = { id:rowIndex+1 };
for (var colIndex:int = 0; colIndex <= 30; colIndex++)
newRow['c'+colIndex] = newRow.id + ':' + colIndex + ' ' + loremIpsum;
newRows.push(newRow);
}
rows = newRows;
}
private function setCols(index:int):void {
colsIndex = index;
var colWidth:int = dg.columns[0].width;
var startIndex:int = index*10+1;
var endIndex:int = (index+1)*10;
for (index = startIndex ; index < endIndex+1 ; index++) dg.columns[index].visible = true;
for (index = 1 ; index < startIndex ; index++) dg.columns[index].visible = false;
for (index = endIndex+1 ; index < dg.columns.length; index++) dg.columns[index].visible = false;
trace("The AdvADG control needs to re-evaluate columnSpan properties here.");
}
private function getColumnSpan(item:Object):int {
var rowNum:int = item.id;
return ((int(((rowNum % 15)-1)/5)) == colsIndex) ? 1 : 0;
}
]]>
</mx:Script>
<lo:AdvDG id="dg" height="100%" width="100%" dataProvider="{rows}" variableRowHeight="true" itemRenderer="AdvDGIR">
<lo:columns>
<mx:AdvancedDataGridColumn id="c0" headerText="" dataField="c0" width="150" resizable="false" wordWrap="false"/>
<mx:AdvancedDataGridColumn id="c1" dataField="c1"/>
<mx:AdvancedDataGridColumn id="c2" dataField="c2"/>
<mx:AdvancedDataGridColumn id="c3" dataField="c3"/>
<mx:AdvancedDataGridColumn id="c4" dataField="c4"/>
<mx:AdvancedDataGridColumn id="c5" dataField="c5"/>
<mx:AdvancedDataGridColumn id="c6" dataField="c6"/>
<mx:AdvancedDataGridColumn id="c7" dataField="c7"/>
<mx:AdvancedDataGridColumn id="c8" dataField="c8"/>
<mx:AdvancedDataGridColumn id="c9" dataField="c9"/>
<mx:AdvancedDataGridColumn id="c10" dataField="c10"/>
<mx:AdvancedDataGridColumn id="c11" dataField="c11"/>
<mx:AdvancedDataGridColumn id="c12" dataField="c12"/>
<mx:AdvancedDataGridColumn id="c13" dataField="c13"/>
<mx:AdvancedDataGridColumn id="c14" dataField="c14" wordWrap="true"/>
<mx:AdvancedDataGridColumn id="c15" dataField="c15"/>
<mx:AdvancedDataGridColumn id="c16" dataField="c16"/>
<mx:AdvancedDataGridColumn id="c17" dataField="c17"/>
<mx:AdvancedDataGridColumn id="c18" dataField="c18"/>
<mx:AdvancedDataGridColumn id="c19" dataField="c19"/>
<mx:AdvancedDataGridColumn id="c20" dataField="c20"/>
<mx:AdvancedDataGridColumn id="c21" dataField="c21"/>
<mx:AdvancedDataGridColumn id="c22" dataField="c22"/>
<mx:AdvancedDataGridColumn id="c23" dataField="c23"/>
<mx:AdvancedDataGridColumn id="c24" dataField="c24"/>
<mx:AdvancedDataGridColumn id="c25" dataField="c25"/>
<mx:AdvancedDataGridColumn id="c26" dataField="c26"/>
<mx:AdvancedDataGridColumn id="c27" dataField="c27"/>
<mx:AdvancedDataGridColumn id="c28" dataField="c28"/>
<mx:AdvancedDataGridColumn id="c29" dataField="c29"/>
<mx:AdvancedDataGridColumn id="c30" dataField="c30"/>
<mx:AdvancedDataGridColumn id="c31" dataField="c31"/>
<mx:AdvancedDataGridColumn id="c32" dataField="c32"/>
<mx:AdvancedDataGridColumn id="c33" dataField="c33"/>
<mx:AdvancedDataGridColumn id="c34" dataField="c34"/>
<mx:AdvancedDataGridColumn id="c35" dataField="c35"/>
<mx:AdvancedDataGridColumn id="c36" dataField="c36"/>
<mx:AdvancedDataGridColumn id="c37" dataField="c37"/>
<mx:AdvancedDataGridColumn id="c38" dataField="c38"/>
<mx:AdvancedDataGridColumn id="c39" dataField="c39"/>
<mx:AdvancedDataGridColumn id="c40" dataField="c40"/>
<mx:AdvancedDataGridColumn id="c41" dataField="c41"/>
<mx:AdvancedDataGridColumn id="c42" dataField="c42"/>
<mx:AdvancedDataGridColumn id="c43" dataField="c43"/>
<mx:AdvancedDataGridColumn id="c44" dataField="c44"/>
<mx:AdvancedDataGridColumn id="c45" dataField="c45"/>
<mx:AdvancedDataGridColumn id="c46" dataField="c46"/>
<mx:AdvancedDataGridColumn id="c47" dataField="c47"/>
<mx:AdvancedDataGridColumn id="c48" dataField="c48"/>
<mx:AdvancedDataGridColumn id="c49" dataField="c49"/>
<mx:AdvancedDataGridColumn id="c50" dataField="c50"/>
<mx:AdvancedDataGridColumn id="c51" dataField="c51"/>
<mx:AdvancedDataGridColumn id="c52" dataField="c52"/>
<mx:AdvancedDataGridColumn id="c53" dataField="c53"/>
<mx:AdvancedDataGridColumn id="c54" dataField="c54"/>
<mx:AdvancedDataGridColumn id="c55" dataField="c55"/>
<mx:AdvancedDataGridColumn id="c56" dataField="c56"/>
<mx:AdvancedDataGridColumn id="c57" dataField="c57"/>
<mx:AdvancedDataGridColumn id="c58" dataField="c58"/>
<mx:AdvancedDataGridColumn id="c59" dataField="c59"/>
<mx:AdvancedDataGridColumn id="c60" dataField="c50"/>
<mx:AdvancedDataGridColumn id="c61" dataField="c61"/>
<mx:AdvancedDataGridColumn id="c62" dataField="c62"/>
<mx:AdvancedDataGridColumn id="c63" dataField="c63"/>
<mx:AdvancedDataGridColumn id="c64" dataField="c64"/>
<mx:AdvancedDataGridColumn id="c65" dataField="c65"/>
<mx:AdvancedDataGridColumn id="c66" dataField="c66"/>
<mx:AdvancedDataGridColumn id="c67" dataField="c67"/>
<mx:AdvancedDataGridColumn id="c68" dataField="c68"/>
<mx:AdvancedDataGridColumn id="c69" dataField="c69"/>
<mx:AdvancedDataGridColumn id="c70" dataField="c70"/>
</lo:columns>
<lo:rendererProviders>
<lo:AdvDGIRP dataField="c0" columnIndex="0" columnSpanFunction="getColumnSpan" columnSpan="0"
renderer="mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer"/>
</lo:rendererProviders>
</lo:AdvDG>
<mx:HBox>
<mx:TextInput id="rowsBox" text="100" maxChars="5"/>
<mx:Button label="Set {rowsBox.text} rows" click="setRows(int(rowsBox.text))"/>
<mx:ToggleButtonBar itemClick="setCols(event.index)">
<mx:dataProvider>
<mx:Array>
<mx:String>1</mx:String>
<mx:String>2</mx:String>
<mx:String>3</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:ToggleButtonBar>
<mx:Text text="{rows.length} rows"/>
</mx:HBox>
</mx:WindowedApplication>