Filtro datagridview da textbox su altra form

di il
7 risposte

Filtro datagridview da textbox su altra form

Ho provato a cercare in lungo e in largo su Google e su YouTube, ma non ho trovato quello che mi serviva.
Vorrei provare a fare come nel mio gestionale: per esempio, quando non ricordo il codice di un cliente nel campo cliente premo un pulsante oppure il corrispettivo tasto della tastiera e mi appare l'intera anagrafica dei clienti in forma tabellare. Con il tasto enter seleziono la riga che mi interessa e i dati vengono passati alla form di inserimento.
Inoltre, posso filtrare la ricerca. Esempio: se metto la lettera H mi appaiono solo i codici che iniziano per H.
In questo modo posso sia richiamare il codice per emettere una fattura oppure per modificare l'anagrafica.

Al momento, tutto quello che trovo sono esempi con textbox e datagridview presenti nella stessa form. Io vorrei fare una cosa un pochino più raffinata, anche perché se ho 10 record un datagridview ci può stare bene, ma quando cominciano a diventare 100 o più non è che mi piaccia molto.

7 Risposte

  • Re: Filtro datagridview da textbox su altra form

    Ma il problema specifico qual è? Lo chiedo perché hai indicato una "soluzione completa" con tutta una serie di requisiti, ma non è chiaro da quale di questi vuoi partire o cosa non ti è chiaro specificatamente a uno o più di queste problematiche.

    In linea generale, quello che posso suggerirti è di predisporre un Form specifico per la ricerca che devi fare, con le caselle di testo per i valori e una griglia con gli eventuali risultati; l'acquisizione dei parametri di input per il filtro e la relativa query puoi farli tutti all'interno di questa finestra, in termini di codice.

    Per poterla usare da altri Form, ti basta creare una istanza (es. new SearchForm()) e chiamare un metodo del Form implementato da te che inizializza la finestra, chiama ShowDialog() (se vuoi farla modale) e alla chiusura della finestra restituisce eventualmente l'ID o tutti i dati del cliente selezionato, posto che la ricerca restituisca risultati e tu possa selezionarne uno (altrimenti restituirai 0, oppure -1 oppure null).

    Ciao!
  • Re: Filtro datagridview da textbox su altra form

    Alka ha scritto:


    Ma il problema specifico qual è?
    Il problema è che non trovo tutorial su come fare.

    Alka ha scritto:


    ... non è chiaro da quale di questi vuoi partire o cosa non ti è chiaro specificatamente a uno o più di queste problematiche.
    Partiamo dalla fine. So passare i dati dal datagridview alla form. Però, al momento attuale le due form sono "indipendenti". Nel senso che i dati che compaiono nel DGV vengono generati da una query SQL su un evento LOAD.
    Mi manca la parte relativa al filtro.

    Alka ha scritto:


    Per poterla usare da altri Form, ti basta creare una istanza (es. new SearchForm()) e chiamare un metodo del Form implementato da te che inizializza la finestra, chiama ShowDialog() (se vuoi farla modale) e alla chiusura della finestra restituisce eventualmente l'ID o tutti i dati del cliente selezionato, posto che la ricerca restituisca risultati e tu possa selezionarne uno (altrimenti restituirai 0, oppure -1 oppure null).
    Purtroppo sono autodidatta, con carenze di teoria, quando mi spiegate capisco il 50%. Faccio le cose, le imparo in modo pedissequo e poi, una volta che le ho apprese cerco di capire il filo logico del codice. So che è l'inverso di come si dovrebbe fare. Per questo mi servirebbe un esempio da seguire.
  • Re: Filtro datagridview da textbox su altra form

    Fabriziog ha scritto:


    Purtroppo sono autodidatta, con carenze di teoria, quando mi spiegate capisco il 50%. Faccio le cose, le imparo in modo pedissequo e poi, una volta che le ho apprese cerco di capire il filo logico del codice. So che è l'inverso di come si dovrebbe fare. Per questo mi servirebbe un esempio da seguire.
    Oltre a essere l'inverso di come si dovrebbe fare, è una soluzione tendezialmente molto comoda: aspettare l'esempio vuol dire che ogni volta ci deve essere qualcuno che lo scrive al posto tuo.

    Indica come accedi ai dati, studia come passare parametri alle query, prova a scrivere del codice (anche in un progetto vuoto di prova, solo come prototipo).

    In breve, l'impegno deve partire da te che hai il problema: se aspetti che gli altri lo risolvano, allora non si tratta di una mano innanzitutto, ma di fare il lavoro al posto tuo, e siamo capaci tutti a sviluppare così.
  • Re: Filtro datagridview da textbox su altra form

    Non so nemmeno da dove iniziare, ma vedrò di essere il più conciso possibile.
    Intanto non sono un ragazzino delle superiori, o uno studente universitario (magari), che non ha voglia di studiare, ma sono un piccolo imprenditore che cerca di qualificarsi.
    Ho tentato di iniziare a programmare in C# nell'autunno del 2016, guardarndo tutorial su YouTube, senza aver mai studiato programmazione in via mia, non avendo nessuno con cui confrontarmi. Dopo circa sei mesi ho abbandonato perché non cavavo un ragno dal buco.
    Ho voluto riprovarci a inizio febbraio dello scorso anno e... stranamente... le cose hano iniziato ad apparirmi più chiare e ho iniziato a progredire. Tutto quello che so - poco - l'ho appreso da tutorial di programmatori indiani, che i primi tempi per capirli dovevo mettere i sottotitoli in inglese.
    Man mano che andavo avanti cercavo di mettere sui progetti di studio (per esempio un software di gestione scolastica che man mano ho ampliato) che mi inventavo funzioni sempre più articolate. Mi è capitato che per trovare le informazioni ci ho messo due o tre settimane, perché magari io le chiamavo in un modo e invece era più comodo chiamarle diversamente (ovviamente con ricerche in inglese).
    Nel mio piccolo - pensa a me come ad un musicista che non sa leggere la musica, come quasi l'80% dei professionisti - riesco a sviluppare piccoli programmi comunque funzionali. Sempre nel mio piccolo, cerco di renderli più accattivanti graficamente e funzionali. Prendo spunto dal mio ERP Mago.Net di Zucchetti e se non è troppo complicato cerco di farlo anch'io.
    Non avendo un programma da seguire il grosso del tempo lo perdo nella ricerca, dove nella maggior parte dei casi, trovo materiale che non mi interessa. Quello che imparo non so se è una cosa facile o difficile. Cerco di impararla e di metabolizzarla. Vado a casaccio.
    Molto spesso, e questo mi capita ultimamente, forse perché sono arrivato ad un livello intermedio, non riesco a trovare le informazioni che mi servono.
    Da analfabeta programmatore l'unico modo per imparare è guardare gli esempi, perché ogni volta che leggo una spiegazione, come ad esempio su questo forum, faccio fatica a comprendere quello che dite.
    Per concludere, non è per pigrizia che chiedo dove trovare i tutorial, ma perché mi mancano le basi. Da poco mi sono iscritto ad un corso su Udemy per completarmi (fra l'altro usano la console che, francamente non so a che serve se poi vuoi sviluppare programmi WinForm)
    Sbaglio a studiare così? Sì. Ne sono consapevole. Perdo più tempo? Sicuramente.
    Per questo chiedo di avere dei link a dei tutorial. Se sapevo ragionare non avrei avuto bisogno di scrivere su questo forum
    Oppure avrei scritto postando già la soluzione sul perché un certo blocco di codice non funzionava e voi mi avreste dato la risposta.
    Chiudo con una domanda retorica: credi che non abbia già provato a "inventarmi" qualche blocco di codice per vedere se funziona?
    Grazie lo stesso.
  • Re: Filtro datagridview da textbox su altra form

    Fabriziog ha scritto:


    Da analfabeta programmatore l'unico modo per imparare è guardare gli esempi, perché ogni volta che leggo una spiegazione, come ad esempio su questo forum, faccio fatica a comprendere quello che dite.
    Non è detto che esista un esempio o un tutorial per qualsiasi cosa tu voglia fare, quindi non è un modo corretto per procedere.

    Fabriziog ha scritto:


    Per concludere, non è per pigrizia che chiedo dove trovare i tutorial, ma perché mi mancano le basi.
    Quale che sia la motivazione, il modo corretto di acquisire le basi è studiare gli argomenti, che molto spesso contengono anche degli esempi, utili senz'altro a capire i concetti e l'uso di determinati strumenti per ottenere funzionalità che, nel loro insieme, potrebbero costituire il risultato finale che vuoi ottenere.

    Non puoi pretendere che esista un tutorial per ogni macro-problema, o che chiunque sia disposto a scrivere un esempio completo ed esplicativo per te, a prescindere dal motivo per cui hai scelto di procedere in questo modo.

    Fabriziog ha scritto:


    Da poco mi sono iscritto ad un corso su Udemy per completarmi (fra l'altro usano la console che, francamente non so a che serve se poi vuoi sviluppare programmi WinForm)
    Serve tantissimo, poiché molte delle classi (come quelle per l'accesso ai dati) sono in comune e prescindono dal tipo di applicazione, così come i concetti della programmazione a oggetti (OOP), l'accesso alla memoria e ai file, l'uso degli oggetti, l'interazione con il CLR, ecc..

    La tipologia di applicazione alla fine è solo una declinazione delle classi coinvolte nella costruzione della UI, quindi sono solo una parte degli strumenti preposta alla gestione dell'interfaccia utente.

    Fabriziog ha scritto:


    Sbaglio a studiare così? Sì. Ne sono consapevole. Perdo più tempo? Sicuramente.
    Non perdi più tempo, perché sicuramente approfondire le basi gradualmente ne richiede di più, ma d'altro canto l'unica alternativa possibile sarebbe avere una applicazione pronta all'uso per ogni cosa che intendi implementare, da analizzare e studiare, e fare questo senza le basi sarebbe comunque rischioso: potresti pensare che funzioni in un modo che non è quello effettivo, o tralasciare concetti fondamentali.

    Fabriziog ha scritto:


    Per questo chiedo di avere dei link a dei tutorial.
    Se si trovano tutorial tanto meglio, ma non li si può pretendere.
    In ogni caso, le basi sono da studiare, e il forum è a disposizione per dare una mano, non per risolvere le problematiche di assenza di tutorial perché non si vogliono studiare concetti fondamentali quando non sono presenti anche progetti esemplificativi.

    Fabriziog ha scritto:


    Chiudo con una domanda retorica: credi che non abbia già provato a "inventarmi" qualche blocco di codice per vedere se funziona?
    Rispondo con una domanda altrettanto retorica: perché allora non hai riportato quel codice sul forum?
    Sarebbe almeno stato qualcosa di più su cui ragionare.

    Ciao!
  • Re: Filtro datagridview da textbox su altra form

    Ci ho ragionato, sono partito dalla logica e alla fine ce l'ho fatta. Funziona perfettamente.
  • Re: Filtro datagridview da textbox su altra form

    Fabriziog ha scritto:


    Ci ho ragionato, sono partito dalla logica e alla fine ce l'ho fatta. Funziona perfettamente.
    Ci fa piacere saperlo.
    Una discussione ricca di dettagli e utilissima per tutti i partecipanti al forum...
Devi accedere o registrarti per scrivere nel forum
7 risposte