lienwein 0 Denunciar post Postado Junho 7, 2006 olá a todos por favor gosteria de pedir a juda de vcs no seguinte, eu tenho um data grid vazio, só com as colunas criadas e qeuro pegar dados do banco usando o ASP e coloca-los no datagrid, apesar de parecer simples não estou conseguindo fazer isso e ja estou tentando desde 6/6. se algeum souber como faço agradeço. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif a outra duvida é que preciso colocar uma combobox dentro desse datagrid, apesar de saber que dá não sei como fazer Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 7, 2006 Acho que no teu caso é interessante gerar um xml no asp e importar para o flash como xml.ai é só colocar para o datadrig importar pelo comandomy_datagrid.dataProvider = Objeto; //onde my_datagrid é a instancia e Objeto é o objeto gerado do xml com os valoresum exemplo de objeto que importa facinho é esse:Objeto = [{name:"Chris", price:"Priceless"}, {name:"Nigel", price:"cheap"}]; // onde name e price são as colunas do datagrid.agora, colocar o combobox eu não faço nem idéia... Eu já vi um esquema de carregar umas fotos ou MC´s, mas eu não consegui colocar...Falows Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 7, 2006 Só tem um problema, eu num conheço XML o suficiente. sei o basico do basico e só na teoria Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 7, 2006 Em PHP, com o que eu trabalho, existe uma classe que se chama AMFPHP e que se comunica com o flash via flash remoting.É muito bom porque é possível enviar uma consulta inteira do BD (com vários campos e várias linhas) para o flash... Eu não sou 100% conhecedor do datagrid, mas estou com um projeto em que tive que dar uma estudada nele...Estou usando esse AMFPHP e não sei como se faria por XML.Se forem poucas informações que virão do banco de dados, dá para receber por loadVars() e manipular os valores no flash para importar no datagrid.Uma solução é ver se não existe um esquema em ASP que se comunique com o flash de forma parecida com o AMFPHP, que simula um server flash.Falows Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 8, 2006 Galera ola de novo, seguinte eu tenho um codigo quase pronto o meu arquivo ASP ta assim: <!--#include file="../inc/conexao_test_abre.asp" --><!--#include file="../inc/conexao_abre.asp" --><!--#include file="inc/funcoes.asp"--><!--#include file="../inc/funcoes.asp"--><!--#include file="../inc/config.asp"--><%SQL = "SELECT DT_MESANO, CD_SI FROM F_TES_SI "SQL = SQL + "WHERE DT_MESANO IS NOT NULL"set rs = conexaotest.execute(SQL)Mes = request.form("Mes")while not rs.EOF Data = rs("DT_MESANO") CD = RS("CD_SI") Data = day(Data) response.write(Data) if (Mes = Data) then SQL2 = "SELECT DESCRICAO, VALOR, TIPO, CD_SI FROM F_TES_BEM " SQL2 = SQL2 + "WHERE CD_SI= '"&CD&"'" SET RS2 = CONEXAOTEST.EXECUTE(SQL2) END IF i = 1 Dp = "" while Not RS2.EOF Desc = RS2("DESCRICAO") Valor = RS2("VALOR") Tipo = RS2("TIPO") Dp = Dp + "{Cod:"&i&", Descrição:"""&Desc&""", Valor:"&Valor&"}" RS2.Movenext if Not RS2.EOF then Dp = Dp + ", " end if wendRS.MOVENEXTwendresponse.write "&nome="&Dp%><!--#include file="../inc/conexao_test_fecha.asp"--> e meu Action script ta assim: System.useCodepage = true;import mx.controls.Alert;//caminho do tabMes.tabIndex = 0;DescricaoBem.tabIndex = 1;//variaveisvar dados:LoadVars = new LoadVars();var comboListener:Object = new Object();//Ajeitando o DataGridDescricaoBem.addColumnAt(0, "Cod");DescricaoBem.addColumnAt(1, "Descrição");DescricaoBem.addColumnAt(2, "Valor");DescricaoBem.getColumnAt(0).headerText = "Cód.";DescricaoBem.getColumnAt(0).editable = false;DescricaoBem.getColumnAt(0).width = 35;DescricaoBem.getColumnAt(1).width = (DescricaoBem.width-DescricaoBem.getColumnAt(0).width)/2;DescricaoBem.getColumnAt(2).width = (DescricaoBem.width-DescricaoBem.getColumnAt(0).width)/2;DescricaoBem.vScrollPolicy = "auto";// listeners da comboboxcomboListener.change = function() { trace("teste"); _root.dados.Mes = _root.Mes.selectedIndex; trace(_root.dados.Mes); if (_root.dados.Mes != 0) { trace("entro no If"); _root.dados.sendAndLoad("resumo_si.asp" , dados, "post"); } };dados.onLoad = function(){ DescricaoBem.dataProvider = [this.nome]; Alert.show(DescricaoBem.dataProvider, "teste");}// adicionando os listenersMes.addEventListener("change", comboListener); onde DescricaoBem é o datagrid e Mes é um ComboBox, até agora ele pega os dados do asp e deixa arrumadinho, o problema é que ele num insere no data grid, nem mostra nenhum erro, alguem sabe oq modificar pra ajeitar isso? Compartilhar este post Link para o post Compartilhar em outros sites
lucas_bwd 0 Denunciar post Postado Junho 8, 2006 Eu nao entendo nada de ASP, entao nao posso te ajudar com esse codigo. Como o colega falou embaixo o datagrid tem que ser populado com um array de objetos. Entao, tens que dar um jeito de transformar teus dados nesse modelo.dataGrid.dataProvider = [{},{},{},{}]; onde cada {} eh um objeto.Quanto ao lance do combo, eh bem tranquilo. Da uma pesquisada em CellRenderer, tem uma penca de material e exemplo na net. Se tiver problema, soh gritar Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 8, 2006 obrigado pela ajuda, o asp ta enviando o arquivo nessa linha: Dp = Dp + "{Cod:"&i&", Descrição:"""&Desc&""", Valor:"&Valor&"}" Tem um if pra adicionar uma virgula se num for o ultimo. ai ele manda beleza, chega no flash eu peço pra dar um alert só pra var se foi realmnete mandado, e ele aparece do jeito que devia, mas parece que o dataProvider num funciona. por exemplo eu peguei só um do banco, ai ele ia aparecer assim: no codigo: DescricaoBem.dataProvider = [this.nome]; Supostamente quando tivesse sendo executado, apareceria assim: DescricaoBem.dataProvider = [{Cod:1, Descrição:"ASd", Valor:123}]; mas mesmo qeu fique assim, como mostra o alert, ele num criaa linha Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 8, 2006 O que eu faço é contruir o objeto no flash a partir das variáveis que o PHP (no seu caso ASP), retorna. No seu caso, acho que isso funciona Do server retorna para o flash, separado: Dp = "Cod=1,Descrição='coisa',Valor=50/Cod=2,Descrição='teste',Valor=100"; Ai no flash eu manipulo jogando para um array ficando assim: teste = Array({Cod:'1', Descrição:'coisa', Valor:'50'},{Cod:'2', Descrição:'teste', Valor:'100'}); é um trabalho meio chato com split para separar os objetos (retornados separados por / ), um split para separar os parâmetros com seus valores (retornados separados por , ) e depois outro split para separar o dado do valor (retornados por =) Ai você faz um for que monta tudo... algo assim: obj = Dp.split("/"); for (i=0; i<obj.length; i++) { valores = obj.split(","); for (j=0; j<valores.length; j++) { valores[j] = valores[j].split("="); } resultado = {valores[0][0]+":"+valores[0][1]+","+valores[1][0]+":"+valores[1][1]+","+valores[2][0]+":"+valores[2][1]} } mais ou menos assim.... tem outras formas de fazer tbm... ai você coloca o DescricaoBem.dataProvider = resultado; Não testei, fiz de cabeça aqui.... Acho que funciona.... Testa ai e qualquer coisa posta Falows Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 8, 2006 deu o seguinte erro, eu ja entendi o codigo mas num sei oq é esse erro, num sei onde el quer esse ":" **Error** Scene=Scene 1, layer=AS, frame=1:Line 41: ':' expected resultado = {valores[0][0]+":"+valores[0][1]+","+valores[1][0]+":"+valores[1][1]+","+valores[2][0]+":"+valores[2][1]}; Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 8, 2006 falha minha... tem que ser assim: resultado = {valores[0][0]:valores[0][1],valores[1][0]:valores[1][1],valores[2][0]:valores[2 ][1]}; sem as aspas... mas eu não testei a action inteira então não tenho certeza se vai funcionar.. Acredito que sim... Falows Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 8, 2006 bom, o codigo todo tá assim: System.useCodepage = true;import mx.controls.Alert;//caminho do tabMes.tabIndex = 0;DescricaoBem.tabIndex = 1;//variaveisvar dados:LoadVars = new LoadVars();var comboListener:Object = new Object();//Ajeitando o DataGridDescricaoBem.addColumnAt(0, "Cod");DescricaoBem.addColumnAt(1, "Descrição");DescricaoBem.addColumnAt(2, "Valor");DescricaoBem.getColumnAt(0).headerText = "Cód.";DescricaoBem.getColumnAt(0).editable = false;DescricaoBem.getColumnAt(0).width = 35;DescricaoBem.getColumnAt(1).width = (DescricaoBem.width-DescricaoBem.getColumnAt(0).width)/2;DescricaoBem.getColumnAt(2).width = (DescricaoBem.width-DescricaoBem.getColumnAt(0).width)/2;DescricaoBem.vScrollPolicy = "auto";// listeners da comboboxcomboListener.change = function() { trace("teste"); _root.dados.Mes = _root.Mes.selectedIndex; trace(_root.dados.Mes); if (_root.dados.Mes != 0) { trace("entro no If"); _root.dados.sendAndLoad("resumo_si.asp" , dados, "post"); } };dados.onLoad = function(){ obj = Dp.split("/"); for (i=0; i<obj.length; i++) { valores = obj[i].split(","); for (j=0; j<valores.length; j++) { valores[j] = valores[j].split("="); } resultado[i] = {valores[0][0]:valores[0][1], valores[1][0]:valores[1][1], valores[2][0]:valores[2][1]}; DescricaoBem.dataProvider = resultado; Alert.show(Bem_Array, "teste"); }// adicionando os listenersMes.addEventListener("change", comboListener); porem o mesmo erro persiste peço desculpas antecipado caso tenha posto em algo errado. Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 8, 2006 se você der um trace em resultado[0], o que aparece? PS: resultado = {valores[0][0]:valores[0][1], valores[1][0]:valores[1][1], valores[2][0]:valores[2][1]}; é tudo na mesma linha... o forum que quebra... Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 8, 2006 Eu num consigo ver, por causa do erro nem da pra ver o trace Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 8, 2006 Dei uma testada aqui e tá cheio de erros o meu código...Vou refazer e depois eu posto aqui...Falows Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 9, 2006 Fiz uns testes e funcionou.... faz assim: com o ASP retornando os dados neste formato Dp = "1,coisa,50/2,teste,100"; onde o primeiro dígito é o código, o "coisa" é a descrição e o 50 é o valor, e depois da barra a mesma coisa para o outro dado... usa esse código: System.useCodepage = true;import mx.controls.Alert;//caminho do tabMes.tabIndex = 0;DescricaoBem.tabIndex = 1;//variaveisvar dados:LoadVars = new LoadVars();var comboListener:Object = new Object();//Ajeitando o DataGridDescricaoBem.addColumnAt(0, "Cod");DescricaoBem.addColumnAt(1, "Descrição");DescricaoBem.addColumnAt(2, "Valor");DescricaoBem.getColumnAt(0).headerText = "Cód.";DescricaoBem.getColumnAt(0).editable = false;DescricaoBem.getColumnAt(0).width = 35;DescricaoBem.getColumnAt(1).width = (DescricaoBem.width-DescricaoBem.getColumnAt(0).width)/2;DescricaoBem.getColumnAt(2).width = (DescricaoBem.width-DescricaoBem.getColumnAt(0).width)/2;DescricaoBem.vScrollPolicy = "auto";// listeners da comboboxcomboListener.change = function() { trace("teste"); _root.dados.Mes = _root.Mes.selectedIndex; trace(_root.dados.Mes); if (_root.dados.Mes != 0) { trace("entro no If"); _root.dados.sendAndLoad("resumo_si.asp" , dados, "post"); } };dados.onLoad = function(){ obj = Dp.split("/"); for (i=0; i<obj.length; i++) { valores = obj[i].split(","); ob = {Cod:valores[0],Descrição:valores[1],Valor:valores[2]} DescricaoBem.addItemAt(i,ob); } Alert.show(Bem_Array, "teste");}// adicionando os listenersMes.addEventListener("change", comboListener); Vai funcionar... Falows Compartilhar este post Link para o post Compartilhar em outros sites
lienwein 0 Denunciar post Postado Junho 11, 2006 desculpe a demora pra responde, LudoMan funciono, vlw mesmo pela ajuda, ja tava a mais de uma semana tentando Compartilhar este post Link para o post Compartilhar em outros sites
thiagoreri 0 Denunciar post Postado Janeiro 4, 2007 galera, aroveitando o tópico, como que eu faço o seguinte.eu tenho a datagrid já com os valores, dai eu quero que quando eu clico naquela linha de registro eu mostro no trace os valores dos campos daquela linha.Se alguem poder me ajudar Compartilhar este post Link para o post Compartilhar em outros sites