ciao, devo popolare un datagrid (flash) prendendo i dati da un database accesss usando asp, non è importante il codice asp in quanto basta che mi produce la solita stringa leggibile da flash.. il problema è l'as.. qualcuno ne ha idea?
ciao, devo popolare un datagrid (flash) prendendo i dati da un database accesss usando asp, non è importante il codice asp in quanto basta che mi produce la solita stringa leggibile da flash.. il problema è l'as.. qualcuno ne ha idea?
Forse è meglio che mi spiego + dettagliatamente. In flash ho una combo e una listbox. Nella combo recupero dei dati da access tramite asp, e fin qui tutto bene. Poi nella list box devo recuperare sempre dei dati da access sempe tramite asp, ma i dati che devo visualizzare dipendono dal valore che viene selezionato nella combobox.
Questo è il codice AS:
Questo invece è il codice asp:codice:elenco = new LoadVars(); elenco.sendAndLoad("documenti.asp", elenco, "post"); elenco.onLoad = function(success) { for (i=1; i<=Number(this.item); i++) { elemento = this["nome"+i]; myCombo1.addItemAt(i, elemento); } for (i=1; i<=Number(this.itemsel); i++) { elemento = this["nomesel"+i]; grid.addItemAt(i, elemento); } }; // controllo cambio valore comboBox = new Object(); comboBox.cambia = function(component) { elenco.combo=myCombo1.selectedItem }; //chiamo la funzione al cambio myCombo1.setChangeHandler("cambia", comboBox);
Se lancio l'swf funziona molto bene, infatti visualizzo i dati sia nella combo che nella listbox. Ma io devo riuscire a visualizzare i dati che vanno nella listbox filtrandoli tramite la combobox. La mia paura è che molto probabilmente qui:codice:<% 'INVIO DEI DATI NELLA COMBO(FLASH) COTENUTI NELLA TABELLA CAT_DOCUMENTI set rs=server.CreateObject("adodb.recordset") sql="SELECT * FROM cat_documenti order by cat" rs.open sql, conn,3,3 x = 0 while not rs.eof x = x + 1 Response.Write("nome" & x & "=" & rs("cat")) rs.MoveNext Response.Write("&") wend get_number_of_recordset = x Response.write("item="& get_number_of_recordset) 'FINE INVIO DEI DATI NELLA COMBO(FLASH) COTENUTI NELLA TABELLA CAT_DOCUMENTI 'RECUPERO DELL'ITEM SELEZIONATO NELLA COMBO(FLASH) E SELEZIONE DEI RECORD (DOCUMENTI) combo=request.form("combo") if combo="" then combo="1" end if set rsrit=server.CreateObject("adodb.recordset") sqlrit="SELECT * FROM dett_file where cat_id="&combo rsrit.open sqlrit, conn,3,3 x = 0 Response.Write("&") while not rsrit.eof x = x + 1 Response.Write("nomesel" & x & "=" & rsrit("testo_doc")) rsrit.MoveNext Response.Write("&") wend get_number_of_recordset = x Response.write("itemsel="& get_number_of_recordset) 'FINE RECUPERO DELL'ITEM SELEZIONATO NELLA COMBO(FLASH) E SELEZIONE DEI RECORD (DOCUMENTI) %>
non succede nulla.. cioè non viene passato l'item, quindi tramite il controllo if combo diventa = a 1 e mi mostra i dati corrispondenti al filtro 1..codice:combo=request.form("combo")![]()
ma non si deve utilizzare un sendAndLoad
per inviare dati da Flash ad ASP ed avere un ritorno
Altrimenti la query secondo il valore della combobox come la fai ??
:metallica
Flash MX Esempi da scaricare -
Team www.BeatFly.com - render,photo,ecc.. Elements01.net - Beat Fly official Blog-
ho provato a modificare così l'action script:
e così l'ASPcodice:elenco = new LoadVars(); elenco.sendAndLoad("documenti.asp", elenco, "post"); elenco.onLoad = function(success) { for (i=1; i<=Number(this.item); i++) { elemento = this["nome"+i]; identificatore= this["id"+i]; myCombo1.addItemAt(i, elemento, identificatore); } for (i=1; i<=Number(this.itemsel); i++) { elemento = this["nomesel"+i]; grid.addItemAt(i, elemento); } }; // controllo cambio valore comboBox = new Object(); comboBox.cambia = function(component) { elenco.combo=myCombo1.value }; //chiamo la funzione al cambio myCombo1.setChangeHandler("cambia", comboBox);
In modo che mi produca questo tipo di stringa:codice:<% 'INVIO DEI DATI NELLA COMBO(FLASH) COTENUTI NELLA TABELLA CAT_DOCUMENTI set rs=server.CreateObject("adodb.recordset") sql="SELECT * FROM cat_documenti order by cat" rs.open sql, conn,3,3 x = 0 while not rs.eof x = x + 1 Response.Write("nome" & x & "=" & rs("cat")&"&id="&rs("id")) rs.MoveNext Response.Write("&") wend get_number_of_recordset = x Response.write("item="& get_number_of_recordset) 'FINE INVIO DEI DATI NELLA COMBO(FLASH) COTENUTI NELLA TABELLA CAT_DOCUMENTI 'RECUPERO DELL'ITEM SELEZIONATO NELLA COMBO(FLASH) E SELEZIONE DEI RECORD (DOCUMENTI) combo=request.form("combo") if combo="" then combo="1" end if set rsrit=server.CreateObject("adodb.recordset") sqlrit="SELECT * FROM dett_file where cat_id="&combo rsrit.open sqlrit, conn,3,3 x = 0 Response.Write("&") while not rsrit.eof x = x + 1 Response.Write("nomesel" & x & "=" & rsrit("testo_doc")) rsrit.MoveNext Response.Write("&") wend get_number_of_recordset = x Response.write("itemsel="& get_number_of_recordset) 'FINE RECUPERO DELL'ITEM SELEZIONATO NELLA COMBO(FLASH) E SELEZIONE DEI RECORD (DOCUMENTI) %>
ma niente non vedo cambiare il contenuto di listboxnome1=Prima categoria&id=1&nome2=Quinta categoria&id=5&nome3=Qurta categoria&id=4&nome4=Seconda categoria&id=2&nome5=Terza categoria&id=3&item=5&nomesel1=Programma del giorno&nomesel2=Bevande analcoliche&itemsel=2![]()
ma perchè io cosa ho utilizzato?Originariamente inviato da rempox
ma non si deve utilizzare un sendAndLoad
per inviare dati da Flash ad ASP ed avere un ritorno
Altrimenti la query secondo il valore della combobox come la fai ??
:metallica![]()
Sono 2 giorni che porto gli occhiali da vista ....
me sembra peggio !!![]()
Sorry
Flash MX Esempi da scaricare -
Team www.BeatFly.com - render,photo,ecc.. Elements01.net - Beat Fly official Blog-
beh inanzitutto stampa a video in formato XML da Assp, dovresti avere meno problemi, inoltre per sapere cosa hai scelto da una combo, devi crearti un listner, così non funzionerà mai.
Guarda un pò questo :
Così sei sicuro ma solo se scegli qualche cosa altrimenti ti restituisce undefined ... ricorda!!codice:myComboBoxListener = new Object(); myComboBoxListener.change = function(eventObj) { var eventSource = eventObj.target; var theSelectedItem = eventSource.selectedItem; var theSelectedItemLabel = theSelectedItem.label; trace ( "You selected "+theSelectedItemLabel+"."); } myComboBox.addEventListener ("change", myComboBoxListener);
:tongue:
grazie.. ma avrei bisogno di farlo funzionare così.. ma perchè dici "così non funzionerà mai"?Originariamente inviato da raffaeu
beh inanzitutto stampa a video in formato XML da Assp, dovresti avere meno problemi, inoltre per sapere cosa hai scelto da una combo, devi crearti un listner, così non funzionerà mai.
Guarda un pò questo :
Così sei sicuro ma solo se scegli qualche cosa altrimenti ti restituisce undefined ... ricorda!!codice:myComboBoxListener = new Object(); myComboBoxListener.change = function(eventObj) { var eventSource = eventObj.target; var theSelectedItem = eventSource.selectedItem; var theSelectedItemLabel = theSelectedItem.label; trace ( "You selected "+theSelectedItemLabel+"."); } myComboBox.addEventListener ("change", myComboBoxListener);
:tongue:
no così come hai impostato tu il codice, con il listner funziona al 100%.
Mi sono spiegato male.