Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    Aggiornamento da ListBox

    Ciao a tutti dovrei riuscire a fare una cosa ma mi ci legando!
    Ho una listbox che legge da db. Ora, quando clicco su una voce (autopostback=true), nella sub:
    Private Sub lbPagine_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbPagine.SelectedIndexChanged
    .......
    End Sub

    dovrei fare in modo di aggiornare un altro controllo. Mi accontento di semplici label in un placeholder!!! ...Se solo ci riuscissi!!!

    Qualcuno mi aiuta a slegarmi?
    Grazie, Elisa

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: Aggiornamento da ListBox

    Originariamente inviato da elisa_rm74
    Ciao a tutti dovrei riuscire a fare una cosa ma mi ci legando!
    Ho una listbox che legge da db. Ora, quando clicco su una voce (autopostback=true), nella sub:
    Private Sub lbPagine_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbPagine.SelectedIndexChanged
    .......
    End Sub

    dovrei fare in modo di aggiornare un altro controllo. Mi accontento di semplici label in un placeholder!!! ...Se solo ci riuscissi!!!

    Qualcuno mi aiuta a slegarmi?
    Grazie, Elisa
    :master: non vedo il problema, a meno di non avere capio io

    comunque, ho un <asp:ListBox con AutoPostBack="True" ed un <asp:Label

    nell'evento SelectedIndexChanged, metto
    codice:
        Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
            Dim lb As ListBox = DirectCast(sender, ListBox)
    
            Me.Label1.Text = lb.Items(lb.SelectedIndex).Text
    
        End Sub
    se poi, nell'evento load del client metto:
    codice:
    function window_onload() {
    	document.getElementById("ListBox1").focus();
    }

    funziona benissimo :rollo:

    Pietro

  3. #3
    Hai il viewstate abilitato per la pagina?
    Altrimenti non riesci a recuperare i dati.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Buongiorno...
    Si è abilitato..

    Cmq, il problema è che vedo sempre solo l'ultima selezione invece vorrei aggiugesse le voci ogni volta che ne scelgo una dalla listbox, come se creasse un elenco.

    Ora riprovo un attimo a mente.... appena sveglia!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    no non ne esco.
    Dunque, cerco di spiegarmi meglio.
    Praticamente ogni volta che viene cliccata la listbox e viene richiamata la sub
    Private Sub lbPagine_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbPagine.SelectedIndexChanged
    .......
    End Sub

    io dovrei aggiungere il nuovo elemento ad un array (sto ipotizzando un sistema che potrei usare, non è detto che sia il migliore), mantenedo ovviamente quelli precedenti se ce ne sono. Visualizzare il contenuto aggiornato dell'array (tipo elenco) e alla fine utilizzare l'array per aggiornare una tabella del db (e questo è un altro discorso sul quale non dovrei avere problemi... penso... spero! :master: )

    è la prima metà del ragionamento che mi incasina!

  6. #6
    Devi memorizzare l'arraylist in una sessione e ogni volta aggiornare quella sessione recuperando l'arraylist

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elisa_rm74
    no non ne esco.
    Dunque, cerco di spiegarmi meglio.
    Praticamente ogni volta che viene cliccata la listbox e viene richiamata la sub
    Private Sub lbPagine_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbPagine.SelectedIndexChanged
    .......
    End Sub

    io dovrei aggiungere il nuovo elemento ad un array (sto ipotizzando un sistema che potrei usare, non è detto che sia il migliore), mantenedo ovviamente quelli precedenti se ce ne sono. Visualizzare il contenuto aggiornato dell'array (tipo elenco) e alla fine utilizzare l'array per aggiornare una tabella del db (e questo è un altro discorso sul quale non dovrei avere problemi... penso... spero! :master: )

    è la prima metà del ragionamento che mi incasina!

    Ci sono diversi modi per fare ciò ed oltretutto è anche abbastanza facile. Uno ti è stato suggerito. In pratica, quando fai la selezione, popoli un StringDictionary o, comunque, qualcosa che conservi la serie di coppie chiave-valore, in una variabile di sessione...

    Un'altro è questo:
    Lavori nel client. Quando fai la selezione dalla lista, aggiungi una riga ad una tabella (sempre lato client naturalmente). La riga avrà un immaginetta tipo gomma, per cancellare la riga corrente, un <span con la descrizione di quello scelto, un hidden sempre con lo stesso name, con l'id dell'elemento scelto. Finite le scelte, mandi nel server e memorizzi nel db :rollo:

    Pietro

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    ok... ma sono di coccio!

    Allora ho provato una cosa del genere:
    sdPag = New StringDictionary
    sdPag.Add(lbPagine.SelectedItem.Text, lbPagine.SelectedValue)
    Dim myArr(sdPag.Count) As DictionaryEntry
    sdPag.CopyTo(myArr, 0)
    Dim i As Integer
    For i = 0 To myArr.Length - 1
    System.Web.HttpContext.Current.Response.Write(myAr r(i).Key)
    Next i
    ed effettivamente stampa quello che ho selezionato.

    Ma posso usare il ViewState per metterci la mia StringDictionary?
    Non è sufficente mettere ViewState("sd")=....
    perchè restituisce quest'errore:
    System.Web.HttpException: Il tipo 'System.Collections.Specialized.StringDictionary' deve essere contrassegnato come Serializable o avere un TypeConverter diverso da ReferenceConverter da mettere in ViewState.

    Che significa? Sto cercando di leggere la guida ma non ci sto capendo molto...

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elisa_rm74
    ok... ma sono di coccio!

    Allora ho provato una cosa del genere:

    ed effettivamente stampa quello che ho selezionato.

    Ma posso usare il ViewState per metterci la mia StringDictionary?
    Non è sufficente mettere ViewState("sd")=....
    perchè restituisce quest'errore:
    System.Web.HttpException: Il tipo 'System.Collections.Specialized.StringDictionary' deve essere contrassegnato come Serializable o avere un TypeConverter diverso da ReferenceConverter da mettere in ViewState.

    Che significa? Sto cercando di leggere la guida ma non ci sto capendo molto...
    Questo si chiama annegare in un bicchiere d'acqua
    Non si può salvare nel viewstate un oggetto con serializzabile (che vuoi che ti dica, l'hanno fatto così), ma puoi salvarlo in una variabile di sessione, oppure puoi salvare una cosa del genere:
    codice:
    ID1;NOME1|ID2;NOME2|IDn;NOMEn
    e non dirmi che poi in riesci a recuperarlo

    Pietro

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Forse, pensandoci bene, potresti fare pure così:
    La scelta fatta la usi per popolare un'altra lista, cioè, fai la scelta e, l'item selezionato la aggiungi alla lista delle scelte fatte. Di più non so Ciao
    Pietro

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 © 2026 vBulletin Solutions, Inc. All rights reserved.