Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da rosco82 Visualizza il messaggio
    Un saluto a tutti, ritorno di nuovo all'attacco perché non ci arrivo proprio.

    In Visual Basic ho una Form con una DataGridView che prende i dati da una tabella su un db di access.
    Vorrei, con una combobox esterna alla datagrid ma sempre nella stessa form, filtrare il contenuto.
    Per intenderci.....se la datagrid mi fa visualizzare tutti i clienti.....vorrei che la combobox (popolata con le città) mi faccia vedere, nella datagrid, solo quelli di milano o torino o roma.

    Ho provato con una query sulla toolstrip ma niente, con un evento sulla combobox ma niente anche li

    Un consiglio su come procedere e cosa scrivere, sono a un punto morto!

    Grazie davvero
    Ciao
    L'evento che devi intercettare relativo alla combobox è SelectedIndexChange, che indica che hai modificato l'elemento selezionato
    Dopo di che devi applicare un filtro alla datatable.
    Guarda qua:
    http://msdn.microsoft.com/it-it/libr...v=vs.110).aspx
    Questo codice
    codice:
    Private Sub BindDataGrid()
       Dim table As New DataTable
    
       ' Insert code to populate a DataTable with data.
    
       ' Bind DataGrid to DataTable
       DataGrid1.DataSource = table
    End Sub 
    
    Private Sub ChangeRowFilter()
       Dim gridTable As DataTable = _
           CType(dataGrid1.DataSource, DataTable)
    
       ' Set the RowFilter to display a company names 
       ' that begin with A through I.
       gridTable.DefaultView.RowFilter = "CompanyName < 'I'"
    End Sub
    
    

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    16
    Grazie mille per la risposta, ma non riesco ad adattare il codice che hai postato.

    dim table as new table datatable
    me.tabella_personale.fill(me.db_personaledataset.t abella_personale)
    datagridview1.datasource=table
    dim gridtable as datatable = _
    ctype (datagridview1.datasource, datatable)
    dim citta as object = cittadatagridviewtextboxcolumn
    gridtable.defaultview.rowfilter = "citta > '6'"


    ...ho come errore che non riesce a trovare la colonna citta!
    dove sbaglio!!??

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da rosco82 Visualizza il messaggio
    Grazie mille per la risposta, ma non riesco ad adattare il codice che hai postato.

    dim table as new table datatable
    me.tabella_personale.fill(me.db_personaledataset.t abella_personale)
    datagridview1.datasource=table
    dim gridtable as datatable = _
    ctype (datagridview1.datasource, datatable)
    dim citta as object = cittadatagridviewtextboxcolumn
    gridtable.defaultview.rowfilter = "citta > '6'"


    ...ho come errore che non riesce a trovare la colonna citta!
    dove sbaglio!!??
    Ma l'errore specifico qual'è? Se si tratta della sintassi della proprietà rowfilter, non è ti posso aiutare granché perché non ho sottomano il tuo database e i dati che esso contiene. Ma nella colonna città (con o senza l'accento?) hai numeri o stringhe? Perché se metti gli apici gli stai dicendo di considerare il 6 come stringa...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    16
    Niente d fare, non capisco l'errore!
    città lo scritto senza accento e ho tolto anche gli apici per ho numeri, ma non funziona ugualmente, e qualsiasi colonna io metta per la ricerca mi restituisce sempre lo stesso errore, cioè che non trova la colonna corrispondete in cui cercare!
    Secondo te ci può essere qualche altra soluzione? ho provato con la toolstrip, ma nente.
    purtroppo la colonna città è numerica e io ho bisogno che venga visualizzata con i nomi delle rispettive città e non i numeri.
    Quando lo avevo fatto in access era una banalità, qui un'impresa!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da rosco82 Visualizza il messaggio
    Niente d fare, non capisco l'errore!
    città lo scritto senza accento e ho tolto anche gli apici per ho numeri, ma non funziona ugualmente, e qualsiasi colonna io metta per la ricerca mi restituisce sempre lo stesso errore, cioè che non trova la colonna corrispondete in cui cercare!
    Secondo te ci può essere qualche altra soluzione? ho provato con la toolstrip, ma nente.
    purtroppo la colonna città è numerica e io ho bisogno che venga visualizzata con i nomi delle rispettive città e non i numeri.
    Quando lo avevo fatto in access era una banalità, qui un'impresa!
    Aspetta un secondo, non facciamo casino..
    Tu devi filtrare i dati della datatable?

    Mettere i dati nella combobox invece, cioè i nomi delle città è un'altro paio di maniche..
    Comunque, tornando all'uso di
    codice:
    gridtable.defaultview.rowfilter 
    Leggi qua:
    La classe SqlDataAdapter include due metodi, Fill e FillSchema, che sono essenziali per il caricamento di questi dati. Entrambi i metodi caricano informazioni in un DataSet. Con Fill vengono caricati i dati, mentre con FillSchema vengono caricati tutti i metadati disponibili su una determinata tabella, ad esempio nomi di colonna, chiavi primarie e vincoli. Per gestire correttamente il caricamento dei dati, è consigliabile eseguire FillSchema seguito da Fill. Ad esempio:
    codice:
    daAuthors.FillSchema(dsPubs, SchemaType.Source, "Authors")
    daAuthors.Fill(dsPubs, "Authors")
    Fonte:
    http://support.microsoft.com/kb/301216/it

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    16
    grazie davvero per l'interessamento, ora provo e ti faccio sapere!!
    Ma ragionando un attimo, dimmi cosa ne pensi...
    -io ho una tabella con l'elenco delle citta, ad ogni città corrisponde in ID;
    -popolo la mia tabella clienti con i rispettivi nomi (che hanno il loro ID diverso da quello delle città) delle persone e le città dove si trovano;
    - in una form metto una datagrid con la tabella dei clienti, quindi visualizzo tutto, nomi e città;
    - fuori dalla form metto una combobox con l'elenco delle città preso dalla rispettiva tabella città;
    è possibile che sia cosi difficile dire....se seleziono il valore della combobox (ID città) la datagrid dovrà restituirmi solo gli ID uguali corrispondenti alla colonna città??
    Miseria

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da rosco82 Visualizza il messaggio
    grazie davvero per l'interessamento, ora provo e ti faccio sapere!!Ma ragionando un attimo, dimmi cosa ne pensi...-io ho una tabella con l'elenco delle citta, ad ogni città corrisponde in ID;-popolo la mia tabella clienti con i rispettivi nomi (che hanno il loro ID diverso da quello delle città) delle persone e le città dove si trovano;- in una form metto una datagrid con la tabella dei clienti, quindi visualizzo tutto, nomi e città;- fuori dalla form metto una combobox con l'elenco delle città preso dalla rispettiva tabella città;è possibile che sia cosi difficile dire....se seleziono il valore della combobox (ID città) la datagrid dovrà restituirmi solo gli ID uguali corrispondenti alla colonna città??Miseria
    No, detto così non è così difficile.Una precisazione: nella tabella clienti tu hai i clienti e IDCittà, cioè hai una relazione 1 a molti, per cui ogni cliente ha una città ma più clienti possono avere la stessa città.Detto ciò: tu nella query di estrazione dei dati della tabella clienti devi fare una JOIN, cioè nella tua datatable clienti vuoi che appaia il nome della città, non il suo ID..Posta qua quel codice.Poi, altro discorso: per caricare i nomi delle città nella combobox usi la proprietà Datasource, DisplayMember e ValueMember? (se non sai come usarli cerca su google). Alla selezione di un item della combobox, ti dovrebbe restituire l'ID della città (ValueMember). Tu devi impostare il filtro (proprietà RowFilter )sul IDCittà e passargli il numero dell'ID, non il nome della città. Detto ciò, sei sicuro che quando crei la datatable, estrai anche l'ID Città?
    Ultima modifica di renygade; 12-11-2014 a 23:05

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.