Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

biellz1221

[Resolvido] DataGrid com XML externo

Recommended Posts

Galera, não estou conseguindo fazer com que meu datagrid carregue dados de um XML externo.

Quando o XML está literal ele funciona de boa e carrega os dados.

 

o código que estou usando é este:

var MyXml:XML;
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("xml.xml");
loader.load(req);
loader.addEventListener(Event.COMPLETE, carregaXML);
//Função carregaXML
function carregaXML(event:Event):void {
	var loader:URLLoader = event.target as URLLoader;
	if (loader != null) {
		MyXml = new XML(loader.data);
		trace(MyXml);
	}
}

var nameCol:DataGridColumn = new DataGridColumn("nome"); 
nameCol.headerText = "Autor"; 
nameCol.width = 120; 
var avgCol:DataGridColumn = new DataGridColumn("autor"); 
avgCol.headerText = "Livro"; 
avgCol.width = 60; 
 
var myDP:DataProvider = new DataProvider(MyXml); 
 
lista.columns = [nameCol, avgCol];
lista.dataProvider = myDP; 
lista.rowCount = lista.length;

Alguem pode me dar uma ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui.

double post só pra não deixar sem resposta, pode ajudar a outros ^^

 

Oq eu fiz foi colocar a função que preenche o Grid anexado a função que puxa o XML.

Assim:

var MyXml:XML;
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("xml.xml");
loader.load(req);
loader.addEventListener(Event.COMPLETE, carregaXML);
//Função carregaXML
function carregaXML(event:Event):void {
	var loader:URLLoader = event.target as URLLoader;
	if (loader != null) {
		MyXml = new XML(loader.data);
		trace(MyXml);
		var nameCol:DataGridColumn = new DataGridColumn("nome"); 
		nameCol.headerText = "Livro"; 
		nameCol.width = 120; 
		var avgCol:DataGridColumn = new DataGridColumn("autor"); 
		avgCol.headerText = "Autor"; 
		avgCol.width = 60; 
		 
		var myDP:DataProvider = new DataProvider(MyXml); 
		 
		lista.columns = [nameCol, avgCol];
		lista.dataProvider = myDP; 
		lista.rowCount = lista.length;
	}
}

funcionou numa boa e retorna os dados direto do banco XML externo.

 

Cheers

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.