Jump to content


Photo

Dúvida Com Data Grind


  • Faça o login para participar
1 reply to this topic

#1 Sheepman

Sheepman

    Veterano

  • Usuários
  • 1497 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS

Posted 11/12/2003, 20:04

Olá pessoal,
Seguinte... Tô brincando com o componente Data Grind aqui e estou tentando fazer o seguinte, pegar os dados de um arquivo XML.
Meu XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<Dados>
	<item produto="Cela de Couro de Bode" preco="R$ 570,00" disponivel="Sim"/>
	<item produto="Bota de Couro de Bode1" preco="R$ 70,00" disponivel="Sim"/>
	<item produto="Bota de Couro de Bode2" preco="R$ 70,00" disponivel="Sim"/>
	<item produto="Bota de Couro de Bode3" preco="R$ 70,00" disponivel="Sim"/>
	<item produto="Bota de Couro de Bode4" preco="R$ 70,00" disponivel="Sim"/>
</Dados>

Estou usando a seguinte ação no Flash:

System.useCodepage = true;
XML.prototype.ignoreWhite = true;
xml = new XML();
xml.onLoad = function() {
	produto = [];
	preco = [];
	disponivel = [];
	for (var i = 0; i<this.childNodes[0].childNodes.length; i++) {
  produto[i] = this.childNodes[0].childNodes[i].attributes.produto;
  preco[i] = this.childNodes[0].childNodes[i].attributes.preco;
  disponivel[i] = this.childNodes[0].childNodes[i].attributes.disponivel;
	}
	dados = new Array({Produto:produto[0],Preço:preco[0],Disponível:disponivel[0]},{Produto:produto[1],Preço:preco[1],Disponível:disponivel[1]});
	dados_dg.dataProvider = dados;
};
xml.load("dados.xml");

O dados_dg é a instância do componente Data Grind.
Esse script Funciona, pode testar aí na sua máquina e verá que funciona, o meu dilema é que tenho que declarar cada maldita linha do XML
dados = new Array({Produto:produto[0],Preço:preco[0],Disponível:disponivel[0]},{Produto:produto[1],Preço:preco[1],Disponível:disponivel[1]});

Queria algo que eu pudesse colocar no FOR, assim para cada i ele adicionava uma linha do XML no Data Grind, não sei se vocês me entendem.

Tentei algo assim:
for (var i = 0; i<this.childNodes[0].childNodes.length; i++) {
  produto[i] = this.childNodes[0].childNodes[i].attributes.produto;
  preco[i] = this.childNodes[0].childNodes[i].attributes.preco;
  disponivel[i] = this.childNodes[0].childNodes[i].attributes.disponivel;
  dados = new Array({Produto:produto[i],Preço:preco[i],Disponível:disponivel[i]});
	}

Alguém pode me ajudar?

Grato
Mozart Petter - http://www.mozartpetter.com/
Não sabe o que é herança? clique aqui e descubra.

#2 Thyago Mendes

Thyago Mendes

    ActionScript

  • Usuários
  • 161 posts
  • Sexo:Não informado
  • Localidade:Recife - PE

Posted 11/12/2003, 21:58

Ve se assim te ajuda:
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
var xml:XML = new XML();
xml.onLoad = function() {
	var produto:Array = new Array(), preco:Array = new Array(), disponivel:Array = new Array(), dados:Array = new Array();
	for (var i = 0; i<this.childNodes[0].childNodes.length; i++) {
  produto[i] = this.childNodes[0].childNodes[i].attributes.produto;
  preco[i] = this.childNodes[0].childNodes[i].attributes.preco;
  disponivel[i] = this.childNodes[0].childNodes[i].attributes.disponivel;
  dados[i] = {Produto:produto[i], Preço:preco[i], Disponível:disponivel[i]};
	}
	dados_dg.dataProvider = dados;
};
xml.load("dados.xml");

Qualquer dúvida posta novamente




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq