ATUALIZAR DATAGRIDVIEW
Boa Tarde..
Vou tentar explicar o problema que eu tenho.
Eu tenho um formulário frmclientes que tem:
datagriview com todos os clientes
1 txtpesquisar e um cmbpesquisar.
Acontece que qua do eu clico em incluir, ele abre o formulario frmclientescad e eu cadastro. Quando eu clico no OK, eu queria que o formulário fechasse e atualizasse o datagrid do frmclientes.
Mas tem um detalhe: Se usar o comando fill, se a pessoa tivesse pesquisado antes, iria aparecer no txtpesquisar o texto que o usuario pesquisou mas o datagridview aparecendo todos os registros.
Não sei se fui bem claro, mas anexei uma imagem do sistema
Obrigado desde já..
Vou tentar explicar o problema que eu tenho.
Eu tenho um formulário frmclientes que tem:
datagriview com todos os clientes
1 txtpesquisar e um cmbpesquisar.
Acontece que qua do eu clico em incluir, ele abre o formulario frmclientescad e eu cadastro. Quando eu clico no OK, eu queria que o formulário fechasse e atualizasse o datagrid do frmclientes.
Mas tem um detalhe: Se usar o comando fill, se a pessoa tivesse pesquisado antes, iria aparecer no txtpesquisar o texto que o usuario pesquisou mas o datagridview aparecendo todos os registros.
Não sei se fui bem claro, mas anexei uma imagem do sistema
Obrigado desde já..
E se você limpar esse campo antes de cadastrar um novo cliente?
Acredito que não tenha o porque de manter esta pesquisa.
Mas caso tenha, use o evento do txtpesquisar após preencher o DatagridView.
Dessa forma seria como se o usuário fizesse a pesquisa após preenche a lista
me.txtpesquisar.Clear
frmclientescad.Show
Acredito que não tenha o porque de manter esta pesquisa.
Mas caso tenha, use o evento do txtpesquisar após preencher o DatagridView.
Dessa forma seria como se o usuário fizesse a pesquisa após preenche a lista
[ô] Preencher o DataGridView
Me.txtpesquisar_KeyDown(Nothing, Nothing)
Depois do comando de gravação
voce coloca assim
frmclientes.NomeDoBotaoDePesquisa.performClick
me.hide
voce coloca assim
frmclientes.NomeDoBotaoDePesquisa.performClick
me.hide
Boa Noite..
Primeiro agradeço pelas respostas mas não funcionou...
1º A Opção txtpesquisar.clear resolve em partes... se ele tiver texto, ele atualiza o grid, se não tiver nada, não atualiza.
2º O evento keydown não vai pois eu preciso chamar ele do outro formulário. eu criei uma public Sub com a pesquisa no frmclientes, e acesso ela do formulario frmclientescad, mas a sub roda mas ele puxa as mesmas informações, sem a devida atualização.
3º não existe botão de pesquisa, tudo roda via evento txtpesquisar_textchanged e cmbpesquisar_SelectedIndexChanged. Mas mesmo criando um botão com a pesquisa, ele puxa as mesmas informações, sem a devida atualização.
Era tão facil no vb6...
Primeiro agradeço pelas respostas mas não funcionou...
1º A Opção txtpesquisar.clear resolve em partes... se ele tiver texto, ele atualiza o grid, se não tiver nada, não atualiza.
2º O evento keydown não vai pois eu preciso chamar ele do outro formulário. eu criei uma public Sub com a pesquisa no frmclientes, e acesso ela do formulario frmclientescad, mas a sub roda mas ele puxa as mesmas informações, sem a devida atualização.
3º não existe botão de pesquisa, tudo roda via evento txtpesquisar_textchanged e cmbpesquisar_SelectedIndexChanged. Mas mesmo criando um botão com a pesquisa, ele puxa as mesmas informações, sem a devida atualização.
Era tão facil no vb6...
SHADOM, então não entendi o que você está pretendendo!
Como você está preenchendo o Grid?
Como você está exibindo o formulário de cadastro de cliente? ShowDialog?
Como você está preenchendo o Grid?
Como você está exibindo o formulário de cadastro de cliente? ShowDialog?
Olha, o grid é aquele grid q o próprio vb.net preenche... e as consultas são feitas por essa sub
Private Sub Pesquisar()
If Trim(txtPesquisar.Text) <> [Ô][Ô] Then
Select Case cmbPesquisar.Text
Case [Ô]Nome[Ô]
Me.ClientesTableAdapter.QrNome(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Endereço[Ô]
Me.ClientesTableAdapter.QrEndereco(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Nr[Ô]
Me.ClientesTableAdapter.QrNr(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Bairro[Ô]
Me.ClientesTableAdapter.QrBairro(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Cidade[Ô]
Me.ClientesTableAdapter.QrCidade(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]UF[Ô]
Me.ClientesTableAdapter.QrUf(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Cep[Ô]
Me.ClientesTableAdapter.QrCEP(Me.DSClientes.Clientes, txtPesquisar.Text)
End Select
Else
Me.ClientesTableAdapter.Fill(Me.DSClientes.Clientes)
End If
End Sub
Dai o que eu quero é que quando eu clico em ok no frmclientescad, ele atualize o datagrid do frmclientes...
Private Sub Pesquisar()
If Trim(txtPesquisar.Text) <> [Ô][Ô] Then
Select Case cmbPesquisar.Text
Case [Ô]Nome[Ô]
Me.ClientesTableAdapter.QrNome(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Endereço[Ô]
Me.ClientesTableAdapter.QrEndereco(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Nr[Ô]
Me.ClientesTableAdapter.QrNr(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Bairro[Ô]
Me.ClientesTableAdapter.QrBairro(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Cidade[Ô]
Me.ClientesTableAdapter.QrCidade(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]UF[Ô]
Me.ClientesTableAdapter.QrUf(Me.DSClientes.Clientes, txtPesquisar.Text)
Case [Ô]Cep[Ô]
Me.ClientesTableAdapter.QrCEP(Me.DSClientes.Clientes, txtPesquisar.Text)
End Select
Else
Me.ClientesTableAdapter.Fill(Me.DSClientes.Clientes)
End If
End Sub
Dai o que eu quero é que quando eu clico em ok no frmclientescad, ele atualize o datagrid do frmclientes...
Uma Coisa eu reparei...
Dim Cmd As New OleDbCommand([Ô]INSERT INTO clientes(codcli,nome) VALUES (?,?)[Ô], CON)
Cmd.Parameters.Add([Ô]@codcli[Ô], OleDbType.VarChar, 5).Value = txtCodigo.Text
Cmd.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50).Value = txtnome.Text
Cmd.ExecuteNonQuery()
Cmd.Dispose()
CON.Close()
frmclientes.pesquisar()
me.close
Se eu fechar o frmcadastrocliente do modo acima, ele não atualiza o datagridview. Agora se eu coloco um MSGBOX antes do me.close, dai ele atualiza certinho.. Será que tem como ter o msm efeito sem o msgbox??
Dim Cmd As New OleDbCommand([Ô]INSERT INTO clientes(codcli,nome) VALUES (?,?)[Ô], CON)
Cmd.Parameters.Add([Ô]@codcli[Ô], OleDbType.VarChar, 5).Value = txtCodigo.Text
Cmd.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50).Value = txtnome.Text
Cmd.ExecuteNonQuery()
Cmd.Dispose()
CON.Close()
frmclientes.pesquisar()
me.close
Se eu fechar o frmcadastrocliente do modo acima, ele não atualiza o datagridview. Agora se eu coloco um MSGBOX antes do me.close, dai ele atualiza certinho.. Será que tem como ter o msm efeito sem o msgbox??
Tópico encerrado , respostas não são mais permitidas