Progressbars no Datagrid
As progressbars são uma grande ajuda, principalmente para os beginners, para uma perspectiva sobre o que se está a passar num determinado jogo, numa determinada aplicação. Em todos os sítios encontramos barras de progresso, elas determinam o tempo de uma tarefa até estar concluída.
Para quem se inicia no "mundo" das barras de progresso, deixo este link: ProgressBar - Barras de progresso desmistificadas para uma melhor percepção do conceito.
Controlos Necessários
- DataGridView
- ProgressBar
Códigos Necessários
'Inicialização com a base de dados e respectiva selecção de dados;
Dim BaseDados As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\BD.mdb"
Dim Query As String = "SELECT * FROM Tabela"
Dim Connection As New OleDbConnection(BaseDados)
Dim command As New OleDbCommand(Query , Connection)
' Abrimos a conexão;
Connection.Open()
' Executamos o comando atribuindo-lhe um OleDbDataReader onde irá armazenar os resultados;
Dim DataReader As OleDbDataReader = command.ExecuteReader
' Definimos os valores da progressbar inicialmente;
ProgressBar1.Value = 0
ProgressBar1.Maximum = 0
' Variável para receber e adicionar os valores da progressbar;
Dim Int As Integer = 0
' Enquanto a selecção dos dados não estiver concluída..
While DataReader.Read
' Incrementamos à varíavel um valor;
Int += 1
' Criamos um DataSet, que significa uma representação da informação em memória;
Dim DataSet As New DataSet
' Criamos um DataAdapter, que servirá para actualizar o DataSet;
Dim DataAdapter As New OleDbDataAdapter(Query, Connection)
' Incutimos a informação da Tabela no DataSet;
DataAdapter.Fill(DataSet, "Tabela")
' No DataSource da DataGridView é onde vamos receber toda a informação proveniente do DataSet,
' onde o mesmo irá automaticamente preencher a DataGridView com as informações da Tabela;
Me.DataGridView1.DataSource = DataSet.Tables("Tabela")
' Definimos que o valor máximo da progressbar é igual à variável inicialmente imposta por nós;
ProgressBar1.Maximum = Int
' O PerformStep() serve para a progressbar andar "para a frente" de modo a auto completar-se;
ProgressBar1.PerformStep()
' Refrescamos a progressbar;
ProgressBar1.Refresh()
End While
' Fecha a ligação e limpa as variáveis.
Connection.Close()
Connection = Nothing
command = Nothing
Importante: No código foi usado a base de dados Microsoft Access 2003 (.mdb
), caso a base de dados seja Microsoft Access 2007 deve-se utilizar a extensão (.accdb
).
Importante: Antes do Public Class
(no código-fonte) devemos incutir o imports System.Data.OleDb
.