Ho una buona prestazione di DataGridView
. L'aggiunta di diverse centinaia di righe richiede circa 200ms. Ecco quello che faccio:
virtual = true
- utilizzando una griglia dati virtualizzato vista sembra rendere l'intero processo più veloce. Ricorda solo di implementare correttamente logViewGrid_CellValueNeeded
.
Un'altra cosa da fare è disabilitare temporaneamente gli eventi di layout quando si aggiungono dati all'elenco vincolato. Provate a fare:
logViewGrid.SuspendLayout();
// add data, perform some operations on grid view
logViewGrid.ResumeLayout(false);
Ho anche avuto un problema con filari lenti colorazione; il mio metodo per farlo era impostare lo stile ciascuno cellule a parte, in questo modo:
gridViewInstance.Rows[currentRow].Cells[cellIndex].Style.BackColor = val;
Invece, mi sono recato per:
gridViewInstance.Rows[currentRow].DefaultCellStyle.BackColor = val;
Il che, per 30 colonne, mi ha dato significativo aumento di velocità in quella parte del codice.
Avete un esempio di codice della formattazione. Quanti dati stai caricando nella griglia? usi una fonte dati paginata o carichi tutto nella rete? – Ivo
Puoi pubblicare il codice che usi per popolare DatagridView? Hai legato il datagridView con il datatable o fai scorrere il datatable e inserisci il record in DatagridView? – aleroot