Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    inserimento in textbox dati listbox

    Salve a tutti.... mi chiamo riccardo....
    ho questo problema (sono alle prime armi in materia)...

    non riesco ad inserire un nome selezionato da una listbox in una textbox.
    Posto il codice.

    codice:
    Public Class Form1 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
     End Sub 
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    ListBox1.Items.Add("marco")
    ListBox1.Items.Add("luigi") 
    ListBox1.Items.Add("mario") 
    ListBox1.Items.Add("pippo") 
    ListBox1.Items.Add("ciccio") 
    TextBox1.Text = ListBox1.SelectedItems.ToString() End Sub End Class
    Nella textbox mi scrive "System.Windows.Forms.ListBox+SelectedObjectCollec tion" invece del nome...come risolvo?

    Grazie anticipatamente.

  2. #2
    Siccome la listbox potrebbe avere più item selezionati, la proprietà SelectedItems (come si potrebbe intuire dal nome al plurale) mette a disposizione la collezione degli item selezionati.

    Per caricare in TextBox1 il primo item selezionato dovresti scrivere:
    codice:
    TextBox1.Text = ListBox1.SelectedItems(0).ToString()
    Chi non cerca trova.

  3. #3
    Ecco il codice modificato:

    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    
    ListBox1.Items.Add("marco") 
    ListBox1.Items.Add("luigi") 
    ListBox1.Items.Add("mario") 
    ListBox1.Items.Add("pippo") 
    ListBox1.Items.Add("ciccio") 
    TextBox1.Text = ListBox1.SelectedItems(0).ToString() 
    
    End Sub 
    End Class
    Mi da questo tipo di errore:

    indice oltre i limiti della matrice!!!

  4. #4
    La collection SelectedItems è vuota e quindi l'errore è ovvio. Del resto quel tuo codice non ha molto senso, probabilmente volevi fare così:
    codice:
    Public Class Form1 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox1.Text = ListBox1.SelectedItems(0).ToString()
    End Sub
    Chi non cerca trova.

  5. #5
    ok, nel programmino semplice sopra postato ora funziona, ma non riesco a fare la stessa cosa con questo codice:

    codice:
    Public Class Form_rubrica 
    Dim conn As New OleDb.OleDbConnection 
    Dim da As OleDb.OleDbDataAdapter 
    Dim strsql As String 
    Dim cmdsql As OleDb.OleDbCommand 
    
    Private Sub ListBox_rubrica_SelectedIndexChanged(ByVal sender As System.Object, ByVal e 
    
    As System.EventArgs) Handles ListBox_rubrica.SelectedIndexChanged 
    TextBox_eta.Text = ListBox_rubrica.SelectedItems(0).ToString() 
    
    End Sub 
    
    
    Private Sub Form_rubrica_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    
    'connessione al database 
    Dim dbprovider As String = "PROVIDER=Microsoft.Jet.OleDb.4.0;" Dim dbsource As String = "DATA SOURCE = c:\Documents and Settings\GIAMPIERO\Documenti\database.mdb" 
    conn.ConnectionString = dbprovider & dbsource 
    'comando insert sql 
    strsql = "SELECT nominativo FROM Tabella_anagrafiche ORDER BY nominativo" 
    Dim cmdsql As New OleDb.OleDbCommand(strsql, conn) 
    Dim da As New OleDb.OleDbDataAdapter(strsql, conn) 
    da.SelectCommand = cmdsql 
    conn.Open() 
    Dim ds As New DataSet("Tabella_anagrafiche") 
    ds.Clear() 
    da.Fill(ds, "Tabella_anagrafiche") 
    Dim bs As New BindingSource() 
    bs.DataSource = ds 
    bs.DataMember = "Tabella_anagrafiche" 
    conn.Close() 
    ListBox_rubrica.DataSource = ds.Tables("Tabella_anagrafiche") 
    ListBox_rubrica.DisplayMember = "nominativo" 
    
    End Sub 
    
    Private Sub Button_home_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_home.Click 
    Me.Close() 
    Me.Dispose() 
    Form_home.ShowDialog() 
    
    End Sub 
    
    End Class
    Così nella text_eta.text mi compare la stringa "System.Data.DataRowView".

    Come risolvo??

  6. #6
    Guarda se questa discussione (in inglese) ti può essere utile:
    http://stackoverflow.com/questions/1...m-to-textboxes
    Chi non cerca trova.

  7. #7
    Tutto risolto con questo codice....
    codice:
    'connessione al database 
    Dim dbprovider As String = "PROVIDER=Microsoft.Jet.OleDb.4.0;" Dim dbsource As String = "DATA SOURCE = c:\Documents and Settings\GIAMPIERO\Documenti\database.mdb" conn.ConnectionString = dbprovider & dbsource 
    
    'comando insert sql 
    strsql = "SELECT id, nominativo FROM Tabella_anagrafiche ORDER BY nominativo" 
    Dim cmdsql As New OleDb.OleDbCommand(strsql, conn) 
    Dim da As New OleDb.OleDbDataAdapter(strsql, conn) 
    da.SelectCommand = cmdsql 
    conn.Open() 
    Dim ds As New DataSet("Tabella_anagrafiche") 
    ds.Clear() 
    da.Fill(ds, "Tabella_anagrafiche") 
    Dim bs As New BindingSource() 
    bs.DataSource = ds 
    bs.DataMember = "Tabella_anagrafiche" 
    conn.Close() 
    ListBox_anagrafiche.DataSource = bs 
    ListBox_anagrafiche.DisplayMember = "nominativo" 
    Label_dati.Visible = False 
    Label_dati.DataBindings.Add("Text", bs, "id", True, DataSourceUpdateMode.OnPropertyChanged) 
    If ListBox_anagrafiche.Text = "" Then 
    Button_visualizza.Enabled = False 
    End If 
    End Sub
    Ora come faccio a fare la stessa cosa in una textbox multilinea??

    Con questo codice mi stampa "System.Data.DataRowView"
    codice:
    'connessione al database 
    Dim dbprovider As String = "PROVIDER=Microsoft.Jet.OleDb.4.0;" Dim dbsource As String = "DATA SOURCE = c:\Documents and Settings\GIAMPIERO\Documenti\database.mdb" 
    conn.ConnectionString = dbprovider & dbsource 
    
    'comando insert sql 
    strsql = "SELECT * FROM Tabella_anagrafiche ORDER BY nominativo" 
    Dim cmdsql As New OleDb.OleDbCommand(strsql, conn) 
    Dim da As New OleDb.OleDbDataAdapter(strsql, conn) 
    da.SelectCommand = cmdsql 
    conn.Open() 
    Dim ds As New DataSet("Tabella_anagrafiche") 
    ds.Clear() 
    da.Fill(ds, "Tabella_anagrafiche") 
    Dim bs As New BindingSource() 
    bs.DataSource = ds 
    bs.DataMember = "Tabella_anagrafiche" 
    conn.Close() 
    TextBox_nominativo.Text = bs(1).ToString
    Dove sbaglio ?!?!?!

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.