Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

will_jdc

Carregar Data Grid por uma função outra Classe

Recommended Posts

Bom Dia Pessoal, estou com uma duvida e creio que bem simples porém não estou conseguindo resolver.
estou começando a programar em C# e preciso carregar um Data Grid porém a função com a consulta no SQL Server esta em outra classe, Vejam abaixo meu codigo:

Abaixo a Função para Cadastrar uma Conta Corrente no Banco de dados:

public static void IncluirConta(String Conta, String ContaDig, String CodigoBanco, String Agencia, String NomeEmpresa, String TipoInscricao, String Inscricao, String ConvenioCedente, String EntregaDistribuicao, String Duplicata)
{

try
{
SqlCommand Comando = new SqlCommand();
Comando.Connection = Con;

Con.Open();

Comando.CommandText = "Insert Into Contas(Conta, ContaDig, CodigoBanco, Agencia, NomeEmpresa, TipoInscricao, Inscricao, ConvenioCedente, EntregaDistribuicao, Duplicata) Values (@Conta, @ContaDig, @CodigoBanco, @Agencia, @NomeEmpresa, @TipoInscricao, @Inscricao, @ConvenioCedente, @EntregaDistribuicao, @Duplicata)";

Comando.Parameters.AddWithValue("@Conta", Conta);
Comando.Parameters.AddWithValue("@ContaDig", ContaDig);
Comando.Parameters.AddWithValue("@CodigoBanco", CodigoBanco);
Comando.Parameters.AddWithValue("@Agencia", Agencia);
Comando.Parameters.AddWithValue("@NomeEmpresa", NomeEmpresa);
Comando.Parameters.AddWithValue("@TipoInscricao", TipoInscricao);
Comando.Parameters.AddWithValue("@Inscricao", Inscricao);
Comando.Parameters.AddWithValue("@ConvenioCedente", ConvenioCedente);
Comando.Parameters.AddWithValue("@EntregaDistribuicao", EntregaDistribuicao);
Comando.Parameters.AddWithValue("@Duplicata", Duplicata);

Comando.ExecuteNonQuery();
Con.Close();
MessageBox.Show("Conta Incluida Com Sucesso");

Listar("Select * from Contas", FrmContas.DgvContas); // Aqui após a Mensagem de Conta incluida, eu faço a atualização do Datagrid, porém não consigo referenciar o Data Grid(DgvContas)

}

catch (Exception e)
{
MessageBox.Show(e.Message);
Con.Close();
}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de você atualizar o grid direto quando você atualiza a lista, primeiro atualize a lista e retorne a mesma pelo método que você chamou (que está em outra classe), depois no mesmo formulário aonde está o grid, utilize essa lista que você retornou para poder atualizar o elemento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O correto mesmo, seria no evento do botão, você chamar dois métodos: Um que insere e outro que atualiza.

Deixando assim cada método com uma responsabilidade única.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia Pessoal,

Fiz o Seguinte:

Defini o Data Grid como Public (para poder acessa-lo da classe onde estou inserindo a conta no banco de dados).

Agora após a mensagem de Conta incluida com sucesso, eu faço a atualização do Grid corretamente.

MessageBox.Show("Conta Incluida Com Sucesso");

FrmContas Contas = new FrmContas();
Listar("Select * from Contas", Contas.DgvContas);

Porém o Grid não atualiza.

Estou fazendo alguma coisa errada ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.