Estou programando em visual studio 2008 (C#) windows forms e bd Mysql. Tenho um método AtualizaRegiao() que está dentro do evento Tick do timer. Está atualizando a cada 5 segundos. Mas achei um pouco estranho, o DataGridView da algumas travadas. Gostaria de saber como faço para atualizar o DataGridView apenas quando houver mudanças na base tipo: inserção, alteração ou exclusão.
O DataGridView é carregado no evento Load do form.
O DataGridView está sendo atualizado em tempo de execução da seguinte forma:
private void atualizaRegiao()
{
int linha;
string coluna;
try
{
linha = dataGridViewRegiao.CurrentRow.Index; //PEGA LINHA SELECIONADA ANTES DE ATUALIZAR
if (dataGridViewRegiao.CurrentRow.Cells[0].Selected.Equals(true))
coluna = "Código";
else
coluna = "Nome";
ds.Clear(); //ds = DATASET
da.Fill(ds, "REGIAO"); //da = MySqlDataAdapter
da.Update(ds, "REGIAO");
//SELECIONA A LINHA QUE ESTAVA SELECIONADA ANTERIORMENTE
Pergunta
Guest --borges02 --
Bom dia!
Estou programando em visual studio 2008 (C#) windows forms e bd Mysql. Tenho um método AtualizaRegiao() que está dentro do evento Tick do timer. Está atualizando a cada 5 segundos. Mas achei um pouco estranho, o DataGridView da algumas travadas. Gostaria de saber como faço para atualizar o DataGridView apenas quando houver mudanças na base tipo: inserção, alteração ou exclusão.
O DataGridView é carregado no evento Load do form.
O DataGridView está sendo atualizado em tempo de execução da seguinte forma:
private void atualizaRegiao()
{
int linha;
string coluna;
try
{
linha = dataGridViewRegiao.CurrentRow.Index; //PEGA LINHA SELECIONADA ANTES DE ATUALIZAR
if (dataGridViewRegiao.CurrentRow.Cells[0].Selected.Equals(true))
coluna = "Código";
else
coluna = "Nome";
ds.Clear(); //ds = DATASET
da.Fill(ds, "REGIAO"); //da = MySqlDataAdapter
da.Update(ds, "REGIAO");
//SELECIONA A LINHA QUE ESTAVA SELECIONADA ANTERIORMENTE
switch (coluna)
{
case "Código":
dataGridViewRegiao.Focus();
dataGridViewRegiao.Rows[linha].Cells[0].Selected = true;
break;
case "Nome":
dataGridViewRegiao.Focus();
dataGridViewRegiao.Rows[linha].Cells[1].Selected = true;
break;
default:
break;
}
}
catch (MySqlException ex)
{
//mostrar mensagem de erro completa para o usuário
MessageBox.Show("Aconteceu o erro: " + ex.Message, "Erro");
}
}
Desde já, agradeço pela ajuda e atenção de todos...
Muito Obrigado...
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.