Ciao a tutti,
Ho un problema molto complicato da risolvere, per me.
Ho una DataGridView che si aggiorna ogni mezzo secondo, da un datatable. Il mio problema è quello di mantenere le condizioni di visualizzazione della Grid tra prima e dopo il refresh, tale refresh è comandato da un timer.
Ecco la porzione di codice interessato:
Con questo codice riesco a:codice:Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick Try 'acquisisco indice della riga selezionata' Dim indiceriga As Integer = grd_multicommessa.SelectedRows(0).Index Dim indiceScrollVerticale As Integer = grd_multicommessa.FirstDisplayedScrollingRowIndex Dim indiceScrollOrizzontale As Integer = grd_multicommessa.FirstDisplayedScrollingColumnIndex 'aggiorno la visualizzazione' grd_multicommessa.DataSource = carica_elementi_multicommessa() 'riseleziono la riga dopo aggiornamento della visualizzazione' grd_multicommessa.Rows(indiceriga).Selected = True grd_multicommessa.FirstDisplayedScrollingRowIndex = indiceScrollVerticale grd_multicommessa.FirstDisplayedScrollingColumnIndex = indiceScrollOrizzontale Catch ex As Exception End Try End Sub
-mantenere invariata la selezione della cella
-mantenere invariata la posizione della barra di scorrimento verticale e orizzontale
Purtroppo non riesco a trovare un modo per:
-mantenere il click del mouse sulla barra di scorrimento durante il refresh della grid
-se la barra di scorrimento orizzontale è tutta spostata a destra, dopo il refresh della DGV, non resta completamente a destra ma si allinea con la cella di cui ho acquisito l'indice.
Qualcuno può aiutarmi?
Grazie mille


Rispondi quotando

