Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    9

    [Visual studio 2010\Access] ripulire datagridview prima dell'esecuzione di una query

    Ciao,

    sto man mano continuando il mio progetto, tra qualche difficoltà che per ora sono riuscito a vincere anche grazie all'aiuto degli utenti di questo forum...

    Ho un nuovo problema.

    Preambolo: ho un progetto connesso ad un database access. per semplificare ipotizziamo che io abbia solo 2 tabelle, tab1 e tab2, ed in ognuna vi siano 3 campi (camp1_1; camp2_1, camp3_1, camp1_2, camp2_2, camp3_2, dove il primo numero è quello del campo ed il secondo della tabella) e che i campi camp1_1 e camp1_2 contengano gli stessi dati (non connessi con chiave primaria).

    Posso inserirvi, tramite le procedure che ho previsto, e cancellarne elementi ed il tutto l'ho reso visibile da una datagridview che si aggiorna automaticamente ad ogni istruzione. la datagridview è connessa all'origine dati tramite bindingsource (che cercando la soluzione su internet pare essere rilevante come dato e ancora non ho capito il perché).

    Ecco, adesso la mia mente un po' malata vorrebbe far si che da una combobox (che consente di selezionare i record del camp1 della tabella1 tramite bindingsource) a seconda del record che clicco, la datagridview si aggiorni dandomi tutti i campi della tabella2 corrispondenti a quel campo (ad esempio quindi cliccando il record del camp2_1 mi dovrebbe dare i record dei campi camp1_2,camp2_2 e camp2_3).

    io ho provato ad inserire come istruzione



    dim selezione as new oledbodatadapter ("select...",archivio)
    archivio.open
    selezione.ecc ' (questa funziona)
    archivio close

    la query di selezione funziona però se la eseguo da sola al variare dei record selezionati nella combobox mi aggiunge alla datagridview i record di più selezioni...
    allora ho inserito prima questa

    datagridview1.rows.clear

    e poi l'istruzione di selezione...ma mi cancella la datagrid senza che mi aggiunga gli elementi corrispondenti alla combobox....
    spero di essermi spiegato, anche se faccio fatica a farvi capire lo immagino...
    per sintetizzare...io da una combobox popolo la datagrid con solo alcuni record, ma se clicco su due elementi diversi della combo nella grid i record relativi al secondo elemento mi vengono aggiunti ai record relativi al primo...avrei bisogno del codice necessario a ripulire la datagrid, cosi che ogni volta che seleziono elementi dalla combo la datagrid mi dia solo i record attinenti all'elemento selezionato...
    Grazie mille. A presto.

  2. #2
    Se ho capito bene è sufficiente che ogni volta modifichi la proprietà datasource del datagrid con un dataset diverso

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    9

    re

    Quote Originariamente inviata da stellinaxxx Visualizza il messaggio
    Se ho capito bene è sufficiente che ogni volta modifichi la proprietà datasource del datagrid con un dataset diverso
    Buongiorno e grazie per avermi risposto...

    Non so....ogni volta che ho agito sul dataset mi è sparito ogni riferimento anche dalle altre combobox del form...

    ho provato questo


    codice:
    Me.DataGridView1.DataSource = Nothing
            
    Me.DataGridView1.DataSource = DataSet1.tabella2
    
    
     
     
     
     
            archivio.Open()
    Dim selezione AsNewOleDbDataAdapter("SELECT * FROM tabella2 WHERE        campo= '" & ComboBox2.Text & " ' ", archivio)
            selezione.Fill(DataSet1,
    "tabella2")
            archivio.Close()
    


    ma niente....al cambiare record della combobox, al primo selezionato mi mostra nella datagrid i valori che desidero, ma se dalla combo clicco un'altra volta selezionando un altro item i record a questo associati me li aggiunge ai precedenti (che invece vorrei non visualizzare) nella datagridview...

    Mi sembra strano però che non ci sia una procedura per pulirla e consentire di metterci solo i record che desidero visualizzare di volta in volta...


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.