none
mensagem antes de atualizar o dataset RRS feed

  • 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.Click

    Form11.Show()

    Dim cb As New SqlCommandBuilder(da)

    da.Update(ds, "Eleitores")

    form11.close()

    Me.Close()

    End Sub

    sábado, 16 de agosto de 2008 19:48

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
    domingo, 17 de agosto de 2008 16:37

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

     

    sábado, 16 de agosto de 2008 21:15
  • 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.

     

    sábado, 16 de agosto de 2008 22:20
  • Mas o problema é que a atualização do dataset estao no outro form, quando eu tento atualiza ele diz que as variaveis nao existem ...

     

    e esse esquema de threads , e facil fazer ?

     

    Obrigado

     

    domingo, 17 de agosto de 2008 14:24
  • 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
    domingo, 17 de agosto de 2008 16:37
  • Cara caiu como uma luva ....

     

    Fiz da forma mais facil para utilizar mas vou dar uma olhada no esquema de threads e multithreads ...

     

    Obrigado mesmo

     

    domingo, 17 de agosto de 2008 21:52