Tengo un problema con advanced data grid (flex 3). Obtengo los datos de una tabla en sqlserver 2005 con weborb y asp. Los datos los recibo bien y me los muestra en el grid, pero cuando quiero agruparlos (grouping collection) deja de mostrarlos y el grid me aparece vacio. Agradeceria que alguien pudiera decirme que hago mal. Gracias de antemano.
Este es el codigo:

Código :

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="xobtenCategorias();">
 <mx:RemoteObject id="remoteObject" destination="GenericDestination" 
   showBusyCursor="true" 
   source="ClassLibrary1.miclase.clientes" 
   fault="faultHandler(event)" >
 <mx:method name="obtenCategorias" result="obtenCategorias_Result(event)"/>
 </mx:RemoteObject>
 
 <mx:GroupingCollection id="gc"  source="{cadena}">
             
                    <mx:Grouping>
                        <mx:GroupingField name="provincia"/>
                    </mx:Grouping>
          
 </mx:GroupingCollection>
 
 
 <mx:AdvancedDataGrid horizontalCenter="9" verticalCenter="-50" id="categoriadg" width="600" height="350" selectedIndex="0" initialize="gc.refresh();" >
      
   <mx:columns>
   <mx:AdvancedDataGridColumn dataField="provincia"/>
   <mx:AdvancedDataGridColumn headerText="Ciudad" dataField="ciudad"/>
   <mx:AdvancedDataGridColumn headerText="Establecimiento" dataField="establecimiento"/>
  </mx:columns>
 </mx:AdvancedDataGrid>
 
 
<mx:Script>
<![CDATA[
   import mx.collections.ICollectionView;

import mx.rpc.events.*;
import mx.collections.ArrayCollection;
import mx.collections.GroupingField;
import mx.collections.GroupingCollection;
import mx.controls.*;
import mx.utils.ArrayUtil;
import mx.collections.HierarchicalData
import mx.collections.Grouping
import mx.collections.GroupingCollection
import mx.collections.GroupingField
import mx.collections.HierarchicalCollectionView
import mx.collections.HierarchicalCollectionViewCursor
import mx.collections.ListCollectionView
import mx.collections.SummaryField
import mx.collections.SummaryObject
import mx.collections.SummaryRow

[Bindable]
private var cadena:ArrayCollection;

private function faultHandler(event:FaultEvent):void{
    Alert.show(event.fault.faultString, "Error"); 
}

private function xobtenCategorias():void{
    remoteObject.obtenCategorias();
}

private function obtenCategorias_Result(event:ResultEvent):void{
   cadena=new ArrayCollection(event.result as Array);
   categoriadg.dataProvider=gc;
    
}
 
]]>