Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Popolare un datagrid da asp

    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?

  2. #2
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    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:
    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);
    Questo invece è il codice asp:
    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)
    
    %>
    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:
     combo=request.form("combo")
    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..

  3. #3
    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

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ho provato a modificare così l'action script:
    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];
    		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);
    e così l'ASP
    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)
    
    %>
    In modo che mi produca questo tipo di stringa:
    nome1=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 niente non vedo cambiare il contenuto di listbox

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    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
    ma perchè io cosa ho utilizzato?

  6. #6
    Sono 2 giorni che porto gli occhiali da vista ....


    me sembra peggio !!


    Sorry

  7. #7
    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 :

    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);
    Così sei sicuro ma solo se scegli qualche cosa altrimenti ti restituisce undefined ... ricorda!!

    :tongue:

  8. #8
    tutorial completo per

    DataList

    ComboBox

    DataGrid

    qui trovi tutto tutto tutto!!

    Kool!!

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    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 :

    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);
    Così sei sicuro ma solo se scegli qualche cosa altrimenti ti restituisce undefined ... ricorda!!

    :tongue:
    grazie.. ma avrei bisogno di farlo funzionare così.. ma perchè dici "così non funzionerà mai"?

  10. #10
    no così come hai impostato tu il codice, con il listner funziona al 100%.

    Mi sono spiegato male.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.