Sincronismo no flex populando datagrid

Como chamar a função setSelectedItem somente depois que o datagrid for completamente populado.

Estou tendo problema de sincronismo no flex.

svrAcessoBanco.getLista(); // Chamando o remote Object
setSelectedItem("12345"); 
private function setSelectedItem(lastDesign:String):void  
{  
	var gData:Object = dgDadosMP.dataProvider;  
	for(var i:Number=0; i < gData.length; i++)  
	{
		var thisObj:Object = gData.getItemAt(i);  
		if(thisObj.pes_design == lastDesign)  
		{
			dgDadosMP.selectedIndex = i;  
			dgDadosMP.validateNow();   
			dgDadosMP.scrollToIndex(i);  
		}
	}
}  

ou caso alguém tenha uma solução melhor para selecionar automaticamente o ultimo registro adicionado no datagrid.

a forma de chamar o método depois que o datagrid for populado é retornando o AsyncToken para qem chama o método remoto (no caso se svrAcessoBanco for um RemoteObject isto já esta acontecendo), e adicionar um Responder no AsyncToken, a interface IResponder tem dois métodos, result e fault um dos dois vai ser chamado no final da chamada remota, mas o que tu quer é o result.
O código vai ficar mais ou menos assim:

svrAcessoBanco.getLista().addResponder(new mx.rpc.Responder(
	function(data:ResultEvent):void{
		setSelectedItem("12345"); 
	},
	function(info:Object):void{
					
	} 
));

Está chamando o método depois, mais na verdade não funcionou da forma que gostaria.

Na verdade o que preciso é selecionar automaticamente no datagrid o ultimo registro adicionado.