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

    Ordinamento righe ascendente/discendente DataGridView

    Salve a tutti...

    mi trovo nella necessità di dover ordinare all'evento doppio click sull'intestazione di colonna, le righe di un datagridview....

    Con i dataset questa caratteristica è automatica, ma io ho usato una griglia che utilizza una sorgente che estrae dati tramite un DataReader e non so perchè l'ordinamento è venuto meno (??)...

    come posso fare per ordinare le righe estratte in modo ascendente/discendente ??? Nel vecchio VB era facile ma qui non ci riesco....

    mi dareste una mano ? Grazie
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  2. #2
    ho provato a fare un sort cosi

    codice:
    Dim colonna As System.Windows.Forms.DataGridViewColumn
    colonna = DataGridViewMagazzino.Columns(e.ColumnIndex)
    DataGridViewMagazzino.Sort(colonna, System.ComponentModel.ListSortDirection.Ascending)
    ma mi da questo errore che non comprendo

    Impossibile eseguire l'ordinamento di un controllo DataGridView associato a IBindingList che non supporta l'ordinamento.
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  3. #3
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, con il DataReader, essendo solo forwad-only, non è possibile ordinare i record (lo devi fare prima, in fare di estrapolazione dei dati). Se vuoi ottenere l'effetto di ordinare i dati dalla griglia, o usi un DataSet, oppure associ il DataReader a un BindingSource e il BindingSource alla DataGridView

    Jupy

  4. #4
    Si ho notato che col dataset non ci sono problemi...

    io comunque ho usato un BindingSource insieme con un BindingNavigator e una DataGridView, tutti collegati tra loro e che puntano ai dati estratti dal DataReader....

    Il DataReader passa i dati al BindingSource, di conseguenza tutti gli altri controlli si aggiornano in automatico....

    Ma ho comunque il problema del sorting dei dati...

    Cosa intendi quindi Jupy nel tuo consiglio di associare il DataReader al BindingSource ? Forse qualcosa diverso da come l'ho fatto io ...non so....mi puoi fare un esempio ?
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, la mia soluzione dovrebbe essere uguale a quella già adottata da te..
    codice:
    BindingSource.DataSource=command.executeReader
    DataGridView.DataSoucre=BindingSource
    Non ho provato se funziona l'ordinamento..pensavo, visto che è possibile scorrere i record in tutte le direzioni, fosse possibile anche ordinare la griglia... ma da quanto mi dici, non funziona.

    Jupy

  6. #6
    Ho risolto richiamando una procedura che al doppio click sull'header della colonna ricarica i dati ordinati via comando SQL, in base ad una select che memorizzo in una variabile globale...

    Forse un po farraginosa ma essendo il datareader molto veloce il tutto avviene in modo trasparente e senza troppi appesantimenti...

    Grazie lo stesso
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  7. #7
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, non so quanto sia grande la tabella che devi caricare, ma se non è eccessivamente grande e se le operazioni di ordinamento vengono fatte più volte.. ti conviene usare un DataSet, anche se è un po' più lento nel caricare i dati inizialmente, poi guadagni in performance nella fase in cui vuoi ordinare i dati..
    Jupy

  8. #8
    no, per quello che devo fare è piu' conveniente usare i datareader....in fondo gli ordinamenti potrebbero anche non essere mai usati dal cliente....e poi col dataset mi trovo male...

    grazie comunque
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

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.