Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

samesdavis

Atualizar uma DBGRIDVIEW de um form aberto com New

Mensagens Recomendadas

samesdavis

Pessoal,

Tenho um form que mostra a listagem de funcionários através de uma dbgridview, ao clicar duas vezes em qualquer linha da dbgridview, é aberto um form com NEW porque repasso parametros como esse

Public Property pID_ITEM_VND As Long

Nesse form que é aberto como New, existe uma tabcontrol (guias) e uma delas tem uma dbgridview e faz o mesmo processo, quando clico duas vezes sobre essa linha da dbgridview desse form que é aberto com new, ele abre um outro form, também com new onde edito os dados. Ao salvar os dados e fechar o form que foi aberto com new, desejo recarregar a grid já com os dados atualizados, isso não é apenas para edição, também faço inclusão e exclusão.

Mas o que preciso mesmo saber, é como faço para recarregar os dados de uma dbgridview de um form que foi aberto com New.

Eu tentei fazer assim:

Frm_FuncionariosCad.PreencheGrid

Mas não funciona, só funciona se eu fechar o form e abrir de novo.

Alguém sabe como ajudar ?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Nelson Sousa

Fala moço,

Quando abrir os formulários abra-os com .ShowDialog

Na próxima linha faça a recarga do grid.

Quando um form é aberto com showdialog o código fica aguardando até o fechamento do mesmo para continuar a execução.


Um Abraço,

Nelson Sousa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
samesdavis

Mas esses forms que abro, tem esse código no LOAD

MdiParent = Frm_MenuPrincipal

Isso é para que o form fique dentro da MDI.

Se eu abrir com o .ShowDialog, irá dar erro.

Isso eu já havia tentado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Nelson Sousa

Pois então,

Pra evitar isso você deve informar para o form o modo como deseja que ele trabalhe.

Eu faço isso passando na TAG do form a palavra "Diálogo", e no evento load do form eu verifico:

    If Not Me.Tag = "Dialogo" Then
	    MdiParent = Frm_Principal
	    Me.TopMost = False
    Else
	    Me.TopMost = True
    End If


Um Abraço,

Nelson Sousa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
samesdavis

Não deu certo, acho que dá forma como você usa deve funcionar,

porque você não usa Property e New para passar parâmetros.

Deve ter uma outra forma de se fazer essa atualização da forma que trabalho.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
samesdavis

Apenas não atualizou e pior, como foi aberta como showdialog, qaundo minimizo as janelas, ela fica fora da MDI

usei o topmost como vc sugeriu e não deu certo.Tenho de achar um plano B.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Nelson Sousa

O TopMost é justamente para o form não sair da tela até ser fechado.

Posta o código completo pra gente ver.


Um Abraço,

Nelson Sousa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
samesdavis

Na verdade, o título do meu tópico deveria ser: ATUALIZAR FORM INSTANCIADO

Consegui resolver:

   Private Sub Frm_FornecedoresCad_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    For Each frm As Form In Frm_MenuPrincipal.MdiChildren
	    If frm.GetType.Name = "Frm_ProdutosCad" Then
		    Dim f As Frm_ProdutosCad = frm
		    f.PreencheGrid()
	    End If
    Next
   End Sub

Editado por samesdavis

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.