SELECIONAR REGISTRO DEPOIS DE FECHAR O FORM
Olá pessoal boa tarde.
Estou com uma dúvida de como fazer para selecionar o registro quando eu fechar o form de cadastro. Por exemplo: tenho o evento Double Click no datagrid que atribui os registros para o form de cadastro. Quando eu atualizo os dados e fecho form de Cadastro, o datagrid é atualizado mas não seleciona o registro que eu alterei. o Foco sempre fica no primeiro registro. Como eu faço para deixar o foco no registro que alterei depois que fechar o form de cadastro?
Public Sub ListaPessoa(ByVal resul As Boolean)
[ô]Dim Contatos As New Contatos() [ô]Cria uma instância da classe Contatos
Dim objPes As New PessoaDAL()
Try
ds = New DataSet() [ô]Chama o método TodosContatos que retorna um DataSet
ds = objPes.ListaPessoa
dv = New DataView()
dt = New DataTable()
dt = ds.Tables(0) [ô]Pega o DataTable do DataSet retornado.
[ô] cria uma visao da visao padrao para a tabela
dv = dt.DefaultView
[ô]ds = customers.buscaCustomers()
If ds.Tables(0).Rows.Count > 0 Then
With dv
.AllowNew = False
.AllowDelete = False
.AllowEdit = False
.Sort = [Ô] [Nome/Razão Social] ASC [Ô]
End With
bs.Filter = String.Empty
pesquisaPes_dgv.DataSource = Nothing
bs.DataSource = Nothing
pesquisaPes_dgv.Refresh()
pesquisaPes_dgv.DataSource = dv
bs.DataSource = ds
bs.DataMember = ds.Tables(0).TableName
pesquisaPes_dgv.DataSource = bs
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
objPes = Nothing
Finally
End Try
End Sub
Private Sub BuscaPes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripImprimi_Pes.Click
If TextBox1.Text <> [Ô][Ô] Then
Dim i As Integer = bs.Find([Ô]Pes_RazaoSoc[Ô], TextBox1.Text)
If i < 0 Then
MessageBox.Show([Ô]Nenhum item encontrado[Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
cm.Position = i
End If
Else
MessageBox.Show([Ô]Digite o nome do Cliente primeiro antes de pesquisar![Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Question)
TextBox1.Focus()
End If
End Sub
da esse erro aqui pessoal DataMember property [ô]Pes_RazaoSoc[ô] cannot be found on the DataSource.
Estou com uma dúvida de como fazer para selecionar o registro quando eu fechar o form de cadastro. Por exemplo: tenho o evento Double Click no datagrid que atribui os registros para o form de cadastro. Quando eu atualizo os dados e fecho form de Cadastro, o datagrid é atualizado mas não seleciona o registro que eu alterei. o Foco sempre fica no primeiro registro. Como eu faço para deixar o foco no registro que alterei depois que fechar o form de cadastro?
Public Sub ListaPessoa(ByVal resul As Boolean)
[ô]Dim Contatos As New Contatos() [ô]Cria uma instância da classe Contatos
Dim objPes As New PessoaDAL()
Try
ds = New DataSet() [ô]Chama o método TodosContatos que retorna um DataSet
ds = objPes.ListaPessoa
dv = New DataView()
dt = New DataTable()
dt = ds.Tables(0) [ô]Pega o DataTable do DataSet retornado.
[ô] cria uma visao da visao padrao para a tabela
dv = dt.DefaultView
[ô]ds = customers.buscaCustomers()
If ds.Tables(0).Rows.Count > 0 Then
With dv
.AllowNew = False
.AllowDelete = False
.AllowEdit = False
.Sort = [Ô] [Nome/Razão Social] ASC [Ô]
End With
bs.Filter = String.Empty
pesquisaPes_dgv.DataSource = Nothing
bs.DataSource = Nothing
pesquisaPes_dgv.Refresh()
pesquisaPes_dgv.DataSource = dv
bs.DataSource = ds
bs.DataMember = ds.Tables(0).TableName
pesquisaPes_dgv.DataSource = bs
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
objPes = Nothing
Finally
End Try
End Sub
Private Sub BuscaPes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripImprimi_Pes.Click
If TextBox1.Text <> [Ô][Ô] Then
Dim i As Integer = bs.Find([Ô]Pes_RazaoSoc[Ô], TextBox1.Text)
If i < 0 Then
MessageBox.Show([Ô]Nenhum item encontrado[Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
cm.Position = i
End If
Else
MessageBox.Show([Ô]Digite o nome do Cliente primeiro antes de pesquisar![Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Question)
TextBox1.Focus()
End If
End Sub
da esse erro aqui pessoal DataMember property [ô]Pes_RazaoSoc[ô] cannot be found on the DataSource.
Gravar o id do cadastro em um string, quando aperta salvar e fechar a form cadastro, faca com que busque o id guardado na string....eu faria assim nao sei se seria o certo...
http://social.msdn.microsoft.com/forums/pt-BR/vsvbasicpt/thread/29ff0721-80b4-4b54-b596-8f7a583f5cd0
eja se é isso q vc quer
eja se é isso q vc quer
KURTGU, é exatamente esta lógica que estou tentando fazer. Procurei na internet, achei uns exemplos como Currency Manager.. mas não estou sabendo usar com o meu método para listar Pessoas.
Já conseguir pegar o value [ ID Pessoa] no evento DoubleClick do Datagrid. Como eu faço para o datagrid ir até o último registro que eu fiz alterações?
Veja só fiz um teste usando um textbox para verificar se o DataView.Find está funcionando realmente.
Private Sub ToolStripImprimi_Pes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripImprimi_Pes.Click
If TextBox1.Text <> [Ô][Ô] Then
Dim i As Integer = dv.Find(TextBox1.Text)
If i < 0 Then
MessageBox.Show([Ô]Nenhum item encontrado[Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
cm.Position = i
End If
Else
MessageBox.Show([Ô]Digite o nome do Cliente primeiro antes de pesquisar![Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Question)
TextBox1.Focus()
End If
End Sub
Ele consegue achar o valor que digito. Mas dar um erro este linha aqui:
[txt-color=#0000f0][Ô] cm.Position = i [Ô][/txt-color]
[txt-color=#e80000] Object reference not set to an instance of an object. [/txt-color]
Alguém pode me ajudar ?
Private Sub ToolStripImprimi_Pes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripImprimi_Pes.Click
If TextBox1.Text <> [Ô][Ô] Then
Dim i As Integer = dv.Find(TextBox1.Text)
If i < 0 Then
MessageBox.Show([Ô]Nenhum item encontrado[Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
cm.Position = i
End If
Else
MessageBox.Show([Ô]Digite o nome do Cliente primeiro antes de pesquisar![Ô], [Ô]Find[Ô], MessageBoxButtons.OK, MessageBoxIcon.Question)
TextBox1.Focus()
End If
End Sub
Ele consegue achar o valor que digito. Mas dar um erro este linha aqui:
[txt-color=#0000f0][Ô] cm.Position = i [Ô][/txt-color]
[txt-color=#e80000] Object reference not set to an instance of an object. [/txt-color]
Alguém pode me ajudar ?
Tópico encerrado , respostas não são mais permitidas