dmorsoleto 0 Denunciar post Postado Fevereiro 21, 2011 Fala galera. Seguinte tenho um código aki q faz uma pesquisa no banco de dados em php gera um xml que eh lido pelo flex. O php está funcionando certinho. Meu problemas é o seguinte. Se eu tenho mais de 1 regsitro retornando da consulta o código funciona lindo, preenche o datagrid e fica tudo beleza. Agora se a consulta retorna só um registro ele nao aparece nada no datagrid. Já vi pelo alert que o metodo de retornar um conteudo de um campo muda, pois nao sei porque o felx nao esta aceitando o datalis[0].cliente, e se tento retornar event.target.data.row.cliente ele retorna o valor q quero. Segue o código para vcs tentarem me dar uma luz... vlws FLEX: <mx:VBox label="Arquivos Disponíveis" click="mudaAba(1)" width="100%" height="100%"> <mx:DataGrid width="100%" dataProvider="{datalist}" id="dg" itemClick="baixarArquivo(event)"> <mx:columns> <mx:DataGridColumn headerText="Arquivos" dataField="nome"/> <mx:DataGridColumn headerText="Tipo do Arquivo" dataField="tipo"/> </mx:columns> </mx:DataGrid> </mx:VBox> AS: [bindable] public var datalist:ArrayCollection; private function respostaArquivos(event:ResultEvent):void{ //Alert.show(""+event.result.data.row.cliente+""); datalist = event.result.data.row; Alert.show(""+datalist[0].cliente+""); var rowcount:String = event.result.data.num; } Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Fevereiro 22, 2011 O problema consiste pois você não está inicializado: [bindable] public var datalist:ArrayCollection; private function respostaArquivos(event:ResultEvent):void{ datalist = new ArrayCollection(event.result as Array); //você colocou assim: event.result.data , se esse data é um array la do php e que você ta retornando pra ca então você muda o que eu fiz para event.result.data Alert.show(""+datalist[0].cliente+""); var rowcount:String = event.result.data.num; } Abs Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Germino 0 Denunciar post Postado Fevereiro 27, 2011 Ola!!! aconteceu isso comigo já :angry: eu solucionei da seguinte forma.... Modificando o php para gera um filho em branco após o comando while :P <?php //include require_once("conecta.php"); //seleciona o banco $select = mysql_select_db($banco,$link) or die ("Erro ao conecta com o banco ".mysql_error()); //faz a busca no banco $busca = mysql_query("Select * FROM emprestimo_apostila WHERE devolvido = 'NÃO' order by horario") or die ("Não foi possivel realizar a busca ".mysql_error()); //total de retorno $total = mysql_num_rows($busca); //cria o xml echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>"; echo "<raiz>"; while($linha = mysql_fetch_array($busca)){ //formata a data que vem do banco $nova_data = explode("-",$linha['data']); $data = $nova_data[2]."/".$nova_data[1]."/".$nova_data[0]; //escreve o xml echo "<emprestimo>\n"; echo "<id>".$linha['id']."</id>\n"; echo "<data>".$data."</data>\n"; echo "<horario>".$linha['horario']."</horario>\n"; echo "<educador>".$linha['nome_educador']."</educador>\n"; echo "<aluno>".$linha['nome_aluno']."</aluno>\n"; echo "<apostila>".$linha['apostila']."</apostila>\n"; echo "<devolvido>".$linha['devolvido']."</devolvido>\n"; echo "</emprestimo>"; } //necessario para exibir na busca caso retorne apenas 1 registro echo "<emprestimo>\n"; echo "<id></id>\n"; echo "<data></data>\n"; echo "<horario></horario>\n"; echo "<educador></educador>\n"; echo "<aluno></aluno>\n"; echo "<apostila></apostila>\n"; echo "<devolvido></devolvido>\n"; echo "</emprestimo>"; echo "</raiz>"; mysql_free_result($busca); ?> dá uma testada para ver se soluciona seu caso!! abrç Compartilhar este post Link para o post Compartilhar em outros sites