>Ciao a tutti,
Ciao!
>ho questo problema, vorrei implementare una listbox
>in questo modo:
>
>LP.Items.Add(Lettore("Nomecliente").ToString)
>LP.SelectedItem.Value = Lettore("Idcliente").ToString
>
>in modo tale che quando carica i dati a vista (lo fa) mi da il
>nome del cliente, mentre quando lo selezione
>ValoreKey =LP.SelectedItem.Value.ToString
>vorrei avere il valore dell'id... ma a parte che mi da errore
>anche cerco di caricare la Kay (value).
Proprio non ho capito.. perdonami, puoi spiegarti meglio?
>Esiste il modo di riempire i campi (del testo che appare, key
>da ricavare) senza dover passare direttamente da DB?
sì, segui questo esempio:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim LB As New ListBox()
LB.Items.Add(New ListItem("Prova1", "1"))
LB.Items.Add(New ListItem("Prova2", "2"))
LB.Items.Add(New ListItem("Prova3", "3"))
LB.Items.Add(New ListItem("Prova4", "4"))
LB.Items.Add(New ListItem("Prova5", "5"))
Me.Form.Controls.Add(LB)
End Sub
Come puoi vedere, alla Load della pagina creo la listbox senza passare da DB. Utilizzo il costruttore della classe ListItem(text, value) in modo da ottenere già la lista degli items formati da valore/testo. Per selezionarne uno in particolare da codice fai così:
LB.SelectedValue = "3"
>
>Un'altra domanda, eventualmente se una listbox è popolata da
>un DB, è possibile "scollegarlo" e rimanere i dati nella lisbox
>in modo da poterli riprendere a runtime?
Devi utilizzare ADO.Net in modalità disconnessa. Quindi DataTable/DataSet ed adapter. Ti allego un esempio con una connessione a SQL Server:
La tabella utenti è inventata, dovrai utilizzare un comando utile alla tua base dati e dovrai cambiare di conseguenza la DataTextField e la DataValueVield.
Fai attenzione, per quanto possibile non usare statement SQL nel comando. Cerca di utilizzare Stored procedure (se il db te lo consente) oppure query parametriche se hai la necessità di passare parametri. Questo è solo a titolo di esempio.
E ricorda che il Datatable, se scrivi un codice simile, è "vivo" ed utilizzabile solo nell'evento che stai gestendo.
>Ciao e grazie!
di nulla!
Alx81 =)
http://blogs.dotnethell.it/suxstellino