ATUALIZAR DATAGRIDVIEW

SHADOM 16/11/2010 15:18:38
#357580
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á..
JONATHANSTECKER 16/11/2010 15:33:05
#357584
E se você limpar esse campo antes de cadastrar um novo cliente?

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)
ADHEL 16/11/2010 15:35:30
#357585
Depois do comando de gravação
voce coloca assim
frmclientes.NomeDoBotaoDePesquisa.performClick
me.hide
SHADOM 16/11/2010 20:26:51
#357609
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...
JONATHANSTECKER 16/11/2010 21:04:46
#357614
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?
SHADOM 16/11/2010 22:14:49
#357618
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...
SHADOM 18/11/2010 10:03:09
#357737
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??
Tópico encerrado , respostas não são mais permitidas