Reference: |
This topic provides sample code for filtering an aggregated DataGrid. It also describes the functions that accomplish this task.
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()" viewSourceURL="doc_api4_filter_reset/index.html"> <mx:Script> <![CDATA[ private var grid1:ibiObject = new ibiObject(); private var fex:String = "http://localhost:8080/ibi_apps/WFServlet ?IBIF_ex=xmltest"; private var a:Array = ['[ALL]']; private var aggField:Array = ['DOLLARS']; private var byField:Array = ['REGION','CITY']; private var calOpts:Array = ['Sum','Average']; private var columnArray:Array = new Array(); private var filterOption:Array = ['EQ']; private var selectedItem:Array = new Array(); private function grid1_agg(useFilter:Boolean=true):void { grid1.aggregate(aggField, byField,calOpts, useFilter, false); main1agg.dataProvider = grid1.prGridagg; }
private function initApp():void { System.useCodePage=true; grid1.init(fex,dataReady); } private function dataReady(grid:ibiObject,obj:*):void { grid1.populateGrid(false); grid1_agg(); loadLists(true,true); } private function loadLists(city:Boolean,region:Boolean):void { if(city)cityList.dataProvider = a.concat(grid1.getUniqueValues("CITY",true)); if(region)regionList.dataProvider = a.concat(grid1.getUniqueValues("REGION",true)); }
private function updateList(list:Object,col:String):void { if(list.selectedItem.toString() != '[ALL]'){ columnArray = [col]; selectedItem = [[list.selectedItem.toString()]]; grid1.filter(columnArray, filterOption, selectedItem, null , false); grid1_agg(); if(col=='REGION')loadLists(true,false); } else{ grid1_agg(false); } } ]]> </mx:Script>
<mx:List x="10" y="199" id="regionList" change="updateList(regionList,'REGION')" height="101" width="129"></mx:List> <mx:List x="156" y="199" id="cityList" change="updateList(cityList,'CITY')" height="101" width="135"></mx:List> <mx:DataGrid x="10" y="38" width="477" id="main1agg" height="153"> <mx:columns> <mx:DataGridColumn id="col1" headerText="Region" dataField="REGION"/> <mx:DataGridColumn id="col2" headerText="City" dataField="CITY"/> <mx:DataGridColumn id="col3" headerText="Total Sales" dataField="Sum.DOLLARS"/> <mx:DataGridColumn id="col4" headerText="Average Sales" dataField="Average.DOLLARS"/> </mx:columns> </mx:DataGrid> </mx:Application>
calculateOption of type String: Specifies which operation to perform on the column specified by calculateColumnName.
WebFOCUS |