Usuário com melhor resposta
Atualizar DataGrid depois que Fechar o Form

Pergunta
-
Olá pessoal boa tarde. Gostaria se possível de uma ajuda na atualização do meu datagrid que está em outro form. O problema é o seguinte, tenho o FormCadastrarPessoas que está com o datagridEndereco listando os dados, gostaria de atualizar os dados do datagridEndereco do FormCadastrarPessoas , depois que eu fizer qualquer alteração no FormCadastrarEndereco. Já tentei este modelo mas não dar certo.
Private Sub cadastrarEnderecoForm_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing 'Primeira Forma cadastrarClienteForm._enderecoID = IDPes cadastrarClienteForm.EnderecoDataGridView_Cli.DataSource = Nothing cadastrarClienteForm.AtualizaEnderecoID() cadastrarClienteForm.Show() 'Segunda Forma frmCli = New cadastrarClienteForm() frmCli.EnderecoDataGridView_Cli.DataSource = Nothing frmCli.AtualizaEnderecoID() frmCli.Show() 'Terceira Forma frmCli.EnderecoDataGridView_Cli.DataSource = Nothing cadastrarClienteForm.RefreshEnderecoGRID() frmCli.Show() End Sub
Já tentei fazer desse jeito e nada pessoal. Criei até outra outra função para atualizar novamente mas mesmo não consigo atualizar os dados depois que fechar o formulário de Cadastro de Enderecos. Se Alguém poder me ajudar ficarei muito agradecido. Obrigado
- Editado Thyago Analista terça-feira, 22 de janeiro de 2013 15:55 Alteração code
Respostas
-
Achei a solução para o que eu quero ..... Events e Delegates
http://www.devmedia.com.br/events-delegates-e-anonymous-methods-em-net/25009
vlw galera pela a ajuda..
- Marcado como Resposta Thyago Analista quarta-feira, 23 de janeiro de 2013 15:38
Todas as Respostas
-
-
-
-
O problema é que minha fonte de Dados está todo em Sistema em Camada.
Aqui o procedimento todo que uso para listar os dados no grid:
'Procedimento no Form de Cadastrar Pessoas Public Sub ListaEnderecoID() Dim dEndereco As New EnderecoDAL() Try Dim ds As DataSet = dEndereco.EnderecosID(_enderecoID) 'Chama o método TodosContatos que retorna um DataSet Dim dt As DataTable = 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 '[Nome/RazaoSocial] With dv .AllowNew = False .AllowDelete = False .AllowEdit = False .Sort = " Nome " End With bs.Filter = String.Empty EnderecoDataGridView_Cli.DataSource = Nothing bs.DataSource = Nothing EnderecoDataGridView_Cli.Refresh() EnderecoDataGridView_Cli.DataSource = dv bs.DataSource = ds bs.DataMember = ds.Tables(0).TableName EnderecoDataGridView_Cli.DataSource = bs 'cm = CType(dgvPessoas.BindingContext(dv), CurrencyManager) 'MessageBox.Show(objPes.Status) 'lblContador.Text = ds.Tables(0).Rows.Count.ToString + " Registros" End If Catch ex As Exception MessageBox.Show(ex.Message) Finally dEndereco = Nothing End Try End Sub 'Procedimento Usando a DAL Enderecos Public Function EnderecosID(ByVal PesID As Integer) As DataSet _strSQL = Nothing _dset = Nothing Try _sqlcon = New SqlClient.SqlConnection(_conStr) _sqlcon.Open() _sqlcom = New SqlClient.SqlCommand() _strSQL = " SELECT E.Pes_End_Id, E.Pes_End_TipoId,E.Pes_End_Pais, E.Pes_End_OutrosPrinc,E.Pes_End_Complemento," & _ "E.Pes_End_Bairro, E.Pes_End_PontRef, E.Pes_End_Numero,E.Pes_End_CEP,T.Pes_TipEnd_Desc AS Nome," & _ "E.Pes_End_Logradouro As Logradouro,E.Pes_End_Cidade As Cidade, E.Pes_End_UF AS UF " & _ "FROM Pessoa P INNER JOIN Pessoa_Endereco E ON P.Pes_Id = E.Pes_End_PesId " & _ "LEFT JOIN Pessoa_Tipo_Endereco T ON T.Pes_TipEnd_Id = E.Pes_End_TipoId " & _ "Where E.Pes_End_PesId = " & PesID & " " With _sqlcom .Connection = _sqlcon .CommandType = CommandType.Text .CommandText = _strSQL End With _sqldap = New SqlClient.SqlDataAdapter(_sqlcom) _dset = New DataSet() _sqldap.Fill(_dset) Catch ex As Exception _dset = Nothing Throw ex Finally liberaTodosObjetos() End Try Return _dset End Function
Já tenteis atribuir 'Nothing', mas não dar certo. Só consigo atualizar os dados utilizando evento do activate do Form Cadastro Pessoas. Mas percebir que toda hora o software fica atualizado causando perda de desempenho quando está ativo... -
-
Achei a solução para o que eu quero ..... Events e Delegates
http://www.devmedia.com.br/events-delegates-e-anonymous-methods-em-net/25009
vlw galera pela a ajuda..
- Marcado como Resposta Thyago Analista quarta-feira, 23 de janeiro de 2013 15:38