Usuário com melhor resposta
mensagem antes de atualizar o dataset

Pergunta
-
Ola estou tentando colocar uma mensagem que as alterações estão sendo salvas .
Ao clicar o botao estou tentando exibir um form com um label ( Aguarde Atualizando Base de dados )
mas mesmo colocando para exibir antes do update ele faz o update primeito depois exibe o form ...
PQ ?
Tentei fazer isso com um label no proprio gridview com a propriedade visible false ai antes de salvar eu deixo ela enable
mas tambem nao funcionou ...
Private
Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickForm11.Show()
Dim cb As New SqlCommandBuilder(da)da.Update(ds,
"Eleitores")form11.close()
Me.Close()
End Sub
Respostas
-
Fabio,
Conforme a sugestão do Jorge Paulino, vou passar um exemplo com um “Timer” :
Arrasta da ToolBox um Timer para o form e seta as propriedades Enable = True e Interval = 1000 que corresponde a 1 segundo, depois ajustas à tua maneira.
No evento Load do Form, desactivas o Timer :
Me.Timer1.Stop()
Clica duas vezes em cima do Timer e no evento Tick :
Me.Timer1.Stop()
Dim cb As New SqlCommandBuilder(da)
da.Update(ds, "Eleitores")
form11.close()
Me.Close()
Só falta o evento click do “Button” :
Form11.Show()
Me.Timer1.Start()
“...as variaveis nao existem ...”
Existem, mas no Form onde as declarou. Torne as variáveis públicas para poder aceder através de outro Form :
Public cb As New SqlCommandBuilder(da)
My.Forms.Form1.da.Update(My.Forms.Form1.ds, "Eleitores")
Um exemplo de “threads” utilizando o “BackGroundWorker” :
http://imasters.uol.com.br/artigo/5743/dotnet/trabalhando_com_backgroundworker/
Abraços
- Marcado como Resposta Fabio Miguel domingo, 10 de maio de 2009 21:50
Todas as Respostas
-
Fabio,
No evento click do botão inclua apenas o Show do Form.
Depois no seu form, ponha outro botão e faça o update aí.
PS : Esta sua ideia de mostrar um form antes do update é o caminho certo para a criação de MessageBox próprias, que você pode manipular como e quando quizer.
Outra opção é trabalhar com threads.
Espero ter ajudado
-
Olá,
Como o Jorge Costa já disse pode fazer com threads mas uma solução mais simples é utilizar um temporizado para dar uma atrazo na actualização. Após o show activa o timer (500 ms +/-) e no timer tick pára o timer e faz o update do dataset.
É simples e funciona direito.
-
-
Fabio,
Conforme a sugestão do Jorge Paulino, vou passar um exemplo com um “Timer” :
Arrasta da ToolBox um Timer para o form e seta as propriedades Enable = True e Interval = 1000 que corresponde a 1 segundo, depois ajustas à tua maneira.
No evento Load do Form, desactivas o Timer :
Me.Timer1.Stop()
Clica duas vezes em cima do Timer e no evento Tick :
Me.Timer1.Stop()
Dim cb As New SqlCommandBuilder(da)
da.Update(ds, "Eleitores")
form11.close()
Me.Close()
Só falta o evento click do “Button” :
Form11.Show()
Me.Timer1.Start()
“...as variaveis nao existem ...”
Existem, mas no Form onde as declarou. Torne as variáveis públicas para poder aceder através de outro Form :
Public cb As New SqlCommandBuilder(da)
My.Forms.Form1.da.Update(My.Forms.Form1.ds, "Eleitores")
Um exemplo de “threads” utilizando o “BackGroundWorker” :
http://imasters.uol.com.br/artigo/5743/dotnet/trabalhando_com_backgroundworker/
Abraços
- Marcado como Resposta Fabio Miguel domingo, 10 de maio de 2009 21:50
-