Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7

    refresh datagridview

    Ho un form principale con un datagriview collegato ad un db access via codice solo readonly. Con il doppio click sulla riga del datagrid apro form secondario con dettaglio riga per modifiche varie. Dopo l'update chiudo il form secondario e torno al form principale con il datagrid che ovviamente non è aggiornato. Qualcuno sa dirmi come fare il refresh del datagrid ?

    Grazie a tutti

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Il linguaggio va indicato anche nel titolo, come da Regolamento, perché vi sono più versioni di Visual Basic trattate in quest'area.

    In questa discussione, l'ho inserito io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi ricaricare i dati.
    Se n'è già parlato, fai una ricerca.

    Oppure guarda se il mio progetto ADO.NET in firma ti può essere di aiuto.


  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26
    Come dice girba ti basta ricaricare i dati nella grid, usi nuovamente la sintassi che hai usato per popolarla inizialmente.

    codice:
    'stringa SQL 
     Dim sql As String
    'selezioni la tabella che ti interessa
            sql = "SELECT * FROM tua tabella"
    'crei l'adapter
            Dim adapter As New OleDbDataAdapter(sql, cn)
    'crei un datatable
            Dim dt As New DataTable("tabella")
    
            adapter.Fill(dt)
    
            DataGrid1.DataSource = dt
    potresti metterlo anche in un modulo volendo , e lo richiami dopo aver eseguito l'azione che ti aggiorna i dati nel DB.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7
    Secondo voi in che evento devo inserire il codice che ripopola il grid ?
    Da quanto ho capito non posso metterlo alla chiusura del form 2 .

    Grazie

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26
    Se inserisci il codice che ti ho dato io in un modulo definendo una sub , del tipo :

    codice:
    Sub AggiornaGriglia()
    
    codice qui ....
    
    End Sub
    quindi
    quando premi il tasto MODIFICA o APPORTA MODIFICHE o come lo vuoi chiamare sul tuo FRMAggiornaInformazioni prima di dare il Me.Close e tornare quindi al form con la grid , chiami la tua sub.

    spero di essere stato chiaro.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7
    Ho provato ad inserire in un modulo il seguente codice e lo chiamo dall'evento form_closed ma la finestra che si apre non presenta gli aggiornamenti effettuati

    Sub caricagrid()
    Dim objgradapter As New OleDbDataAdapter
    Dim objdataset As New DataSet
    Dim objcon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\dbf_access\pcl.mdb;User Id=admin;Password=;")


    objgradapter.SelectCommand = New OleDbCommand("SELECT * FROM tbl_tes_pcl", objcon)


    objcon.Open()
    objgradapter.Fill(objdataset, "tbl_tes_pcl")
    objcon.Close()

    Form4.DataGridView1.AutoGenerateColumns = True
    Form4.DataGridView1.AllowUserToAddRows = False

    Form4.DataGridView1.DataSource = objdataset
    Form4.DataGridView1.DataMember = "tbl_tes_pcl"
    Form4.DataGridView1.Columns(0).ReadOnly = True
    Form4.DataGridView1.EnableHeadersVisualStyles = False
    Form4.DataGridView1.Columns(2).Width = 350
    Form4.DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
    objgradapter = Nothing
    objcon = Nothing
    Form4.DataGridView1.Refresh()
    End Sub



    10 8

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Guarda il mio esempio in firma su ADO.NET.

    - carica i dati in un DataReader
    - li mette nel DataGridView
    - doppio clic per modificare la riga (su form esterno)
    - al termina della modifica (o inserimento) aggiorna i dati nel DataGridView.

    Connessione, INSERT, UPDATE e DELETE sono eseguiti tutto da codice (no wizard!).


  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7
    Grazie Gibra
    Ho rifatto il programmino seguendo la logica dell'esempio che mi hai indicato . Funziona tutto.

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da robyg
    Grazie Gibra
    Ho rifatto il programmino seguendo la logica dell'esempio che mi hai indicato . Funziona tutto.
    Ottimo.

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.