Array
(
)

Update de dados num form com valores digitados noutro

Guilherme
   - 03 nov 2014

Olá pessoal.
Tenho uma dúvida em trabalhar com forms.
É o seguinte: tenho um frmPrincipal composto pela informação relativa a um paciente e outras coisas mais, mas onde não se pode alterar a informação apesentada.
Nesse form tem um botão "Alterar" que, ao clicar, abre frmAlterar com toda a informação relativa aos dados do Paciente, tal como no frmPrincipal.
Neste frmAlterar posso alterar qualquer informação que pretenda e gravar essas alterações através do botão "Gravar".
O que pretendo é que, depois do clique no botão "Gravar" no frmAlterar, seja feito update à informação no frmPrincipal.

Joel Rodrigues
   - 04 nov 2014

Não sei como você está fazendo a ligação com o banco de dados, mas se vocÊ fizero update no segundo form, e ao fechá-lo,fizer um select no form principal, os dados virão atualizados.

Guilherme
   - 05 nov 2014

Eu faço a ligação com Procedures.
Os campos do 1º form não podem ser alterados.
Por isso é que é aberto outro form com os mesmos campos do 1º, para serem alterados.
Esses valores são inseridos num sqlParameterCollection e enviados à BD para executar a procedureUpdate com esses parametros.
É disparada uma MessageBox: "Paciente alterado com sucesso".
O que queria era, que ao clicar OK na MessageBox, o 1º form atualize.

Estava a pensar fazer no 1ºform

Citação:

...
Form2 form2 = new Form2();
form2.carregaPaciente(paciente);
form2.Show();
...
if(form2.ShowDialog() == DialogResult.OK) {
Paciente pacienteAlterado = new Paciente();
pacienteAlterado = "paciente alterado no 2º form"
this.carregaPaciente(pacienteAlterado);
}


Não sei se me estou a explicar da melhor maneira

Joel Rodrigues
   - 05 nov 2014

Sim, entendi o que você precisa. Como eu disse, você pode fazer a parte de atualização direto no form 2 e no form 1, apenas recarregar os dados do paciente em questão.
Caso sua dificuldade seja como acessar um campo no form 2, você pode declará-lo como público:
#Código

public Paciente PacienteAtual
{
   get;
   set;
}

Assim vocÊ poderia fazer:
#Código
form2.PacienteAtual = pacienteEmEdicao;

Joel Rodrigues
   - 06 fev 2015

Olá, conseguiu resolver seu problema?