posts - 315, comments - 268, trackbacks - 15

My Links

News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro

Tag Cloud

Article Categories

Archives

Post Categories

Blogs amici

Links

DataTable.RowChanged e ProgressBar

Se abbiamo bisogno di una soluzione veloce per visualizzare l'avanzamento di un controllo ProgressBar durante il caricamento di un DataTable, possiamo gestire l'evento RowChanded in questo modo:

1 Private Sub CustomRowChanged(ByVal sender As Object, ByVal e As DataRowChangeEventArgs) 2 3 If (e.Action = DataRowAction.Commit) Then 4 'Avanziamo il valore della progress bar 5 ProgressBar1.Value += 1 6 Application.DoEvents() 7 End If 8 9 End Sub

Il codice per popolare il DataTable con i dati e per registrare il gestore eventi personalizzato può essere del tipo:

1 'Imposto la proprietà Maximux del controllo ProgressBar 2 ProgressBar1.Value = 0 3 ProgressBar1.Maximum = GetNumeroRecords() 4 5 'Registro il gestore eventi personalizzato 6 AddHandler Articoli.ArticoliDataTable.RowChanged, AddressOf CustomRowChanged 7 8 Try 9 DataGridView1.SuspendLayout() 10 11 'Popolo il DataTable 12 ArticoliTableAdapter.Fill(Articoli.ArticoliDataTable) 13 14 MessageBox.Show(String.Format("Caricati {0} records",Articoli.ArticoliDataTable.Rows.Count)) 15 16 Catch ex As Exception 17 MessageBox.Show(ex.Message) 18 Finally 19 DataGridView1.ResumeLayout() 20 'Rimuovo l'handler... 21 RemoveHandler Articoli.ArticoliDataTable.RowChanged, AddressOf CustomRowChanged 22 End Try

Ovviamente si potrebbero usare modelli di programmazione asincrona o popolare dati mediante un thread diverso da quello principale.

Print | posted on mercoledì 13 febbraio 2008 19:00 | Filed Under [ Visual Basic .Net ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET