Ir para o conteúdo
fantasticleague

Fazer refresh á DataGridView

Mensagens Recomendadas

fantasticleague

Boas

Eu tenho uma data grid view em que ao fazer double click carrega os valores para um form novo, e tenho lá um botão que vai fazer update á bd, muda o campo equipa, para a equipa do user que estiver logado, e depois quero que quando vá ao plantel(ta filtrado, mostra só os jogadores da equipa do user que esta logado) e eu quero que ao ir lá o jogador que "comprei" já lá esteja sem ter que fechar e iniciar a aplicação.

Está a funcionar mas só actualiza quando saio e entro da aplicação.

alguem me ajude

já tentei o DataGridView.Refresh

mas n funciona

cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fantasticleague

chamo o código onde?

o código que uso é este:

JogadoresBindingSource.Filter = "Equipa = '" & login.user & "'"

cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Agora que li melhor o teu problema, tu estás a utilizar dois forms?

Se sim, como é que tu carregas os dados para a datagridview pela 1ª vez?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fantasticleague

estou a usar 2 forms sim

no 1º form carrego a data grid view normalmente, com os dados todos, depois carrego numa linha e isso carrega os valores desse jogador para outro form, depois tem lá um botão que serve para comprar o jogador, que vai fazer update ao campo Equipa, metendo-o com o nome da equipa.

o que eu quero é actualizar essa grid view e depois a grid view do plantel desse utilizador que chamo a gid view com um filtro

JogadoresBindingSource.Filter = "Equipa = '" & login.user & "'"

também quero que esta grid view faça update.

Form Escolher jogadores: form da 1ª grid view que tem os jogadores todos

Form frmjogador: form onde está o botao

Form Plantel: form onde esta a 2ª grid view com o filtro.

Eu quero actualizar as duas grid view

cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Por acaso abres os Forms com a função ShowDialog() em vez de Show()?

Se sim, podes simplesmente fazer isto:

Form1.cs

Form2.ShowDialog()
MetodoActualizarDGView()

Desta forma, assim que fechares o Form2, ele actualiza o Form1 (que neste caso, apenas actualiza os dados da tua DataGridView).

Também podes utilizar um outro método de actualização, que podes encontrar aqui: http://stackoverflow.com/questions/13397507/updating-datagridview-from-another-form-in-vb-net, no 2º post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fantasticleague

eu abro os forms com

.show

esse codigo ja n funciona?

e qual a diferença entre .show e .showdialog

e não estou a perceber muito bem a segunda linha de codigo :S

Editado por fantasticleague

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

A diferença é que, quando abres com um form com .ShowDialog(), não podes, enquanto não o fechares, mudar para outro form.

Já no outro post te pedi, mas volto a pedir: mostra a forma como estás a carregar os dados para a DataGridView.

Edit: Afinal, já devo saber como estás a fazer. Tu estás a utilizar o método do Visual Studio que te permite através de um wizard, utilizar uma base de dados e por sua vez ele fazer o trabalho todo sozinho, correcto?

Estás a utilizar bindingsources?

Editado por bioshock

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fantasticleague

sim,

a programação que tenho no double click na datagid view é

   Private Sub JogadoresDataGridView_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles JogadoresDataGridView.CellDoubleClick
    With frmJogador
	    .Show()
	    .JogadoresBindingSource.Position = .JogadoresBindingSource.Find("Nome", JogadoresDataGridView.CurrentRow.Cells(0).Value)
    End With
   End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fantasticleague

ja exprimentei meter isto no botao que tenho para voltar para o plantel e não da

Actualizar/Carregar dados:

Me.NOMEdaTABELATableAdapter.Fill(Me.NOMEBaseDADOSDataSet.NOMEdaTABELA)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Pressuponho que tenhas alterado aí algumas coisas no código...certo?

Form2.ShowDialog()
Me.NOMEdaTABELATableAdapter.Fill(Me.NOMEBaseDADOSDataSet.NOMEdaTABELA)

Aprende a usar as tags de código [ code = vbnet ] [ /code ]

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fantasticleague

tá a dar erro

O formulário que já está visível não pode ser apresentado como uma caixa de diálogo modal. Defina a propriedade visível do formulário como falsa antes de chamar showDialog.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
 Me.Hide()

 frmplantel.ShowDialog()
 JogadoresTableAdapter.Fill(PapDataSet.Jogadores)
End Sub
End Class

edit:

ja ta +/- a funcionar, ja consigo alterar, mas só 1, depois vou ao plantel, escolho outro jogador e isto escolhe sempre o mesmo jogador, um que nem está no plantel :S

já meti a funcionar ahahahha

que LOL

basta meter

dgv.refresh LOOOOL

Editado por fantasticleague

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Antes de mais, estás a esconder um form..não é muito boa prática. O processo fica-te a correr em background e a puxar-te recursos. Atenção a isso!

Ainda bem que conseguiste, mas para futuros problemas tem atenção à forma como te expressas. É complicado para quem está deste lado perceber o teu ponto de vista e a tua ideia. Boa sorte.

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.