cseverino 0 Denunciar post Postado Janeiro 1, 2015 Boa Tarde Pessoal,Sou iniciante em programação e C#, e estou precisando de uma ajuda. Na tela Frcadastro_salas, tenho os campos cd_codigo, nm_sala, ie situacao e um botão que chama a tela Frconsulta_sala, nesta tela tenho um datagrid e um botão OK. Gostaria de seleciar uma linha na tela Frconsulta_sala e quando clicar em OK, o sistema leve a informação para a tela Frcadastro_salas preenchendo os campos cd_codigo, nm_sala, ie situacao. Alguém poderia me auxiliar de como faço isso? Abaixo o código da tela do data grid, se necessário posto o código da tela que vai receber o resultado dessa tela. using System; using System.Windows.Forms; namespace APPSis { public partial class Frconsulta_sala : Form { public Frconsulta_sala() { InitializeComponent(); } private void Frconsulta_sala_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'bancoDataSet.Salas' table. You can move, or remove it, as needed. this.salasTableAdapter.Fill(this.bancoDataSet.Salas); } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } } } Compartilhar este post Link para o post Compartilhar em outros sites
MarcosMTS 1 Denunciar post Postado Janeiro 6, 2015 Ola, No evento do botao ok voce coloca algo assim: // pega o codigo da linha que esta selecionada do dgv (isso caso o codigo for a primeira coluna que é representada pelo Zero) string cd_codigo = dataGridView1.CurrentRow.Cells[0].Value.ToString(); // pega o nm_sala da linha que esta selecionada do dgv caso o nm_sala seja a segunda coluna do datagrid string nm_sala = dataGridView1.CurrentRow.Cells[1].Value.ToString(); // pega situacao da linha que esta selecionada do dgv caso situacao seja a terceira coluna do datagrid string situacao = dataGridView1.CurrentRow.Cells[2].Value.ToString(); // ao instanciar o o form envia os 3 parametros cd_codigo, nm_sala e situacao Frcadastro_salas formSala= new Frcadastro_salas(cd_codigo, nm_sala, situacao ); //exibe o form formSala.ShowDialog(); agora na tela que recebe os dados: //onde provavelmente esta assim: public Frcadastro_salas() { InitializeComponent(); } // voce apaga e coloca assim: //recebe os dados enviados via parametro public Frcadastro_salas(string codigo, string nm_sala, string resultado) { InitializeComponent(); //aqui depende dos teus provavelmente textbox ai troca o nome ... txtCodigo.Text = codigo; txtNm_sala.Text = nm_sala; txtResultado.Text = resultado; } Se for para editar os dados recomendo criar um form separado para isso! Pelo que entendi é isso, qualquer coisa avisa! Compartilhar este post Link para o post Compartilhar em outros sites
cseverino 0 Denunciar post Postado Janeiro 7, 2015 Boa Noite MarcosMTS, Implementou o que você publicou porém quando tento testar o sistema gera o seguinte erro Error 1 'APPSis.Frcadastro_salas' does not contain a constructor that takes 0 arguments Eu imagino que isso pode ser porque eu entro na tela Frcadastro_salas, dentro dela chamo a Frconsulta_sala, seleciono o item desejado e depois retornar para a tela Frcadastro_salas. Você pode meu orientar como resolvo essa situação? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Janeiro 7, 2015 Alguma instancia do fcadastro_salas não está com nenhum parâmetro como construtor, veja todos os lugares que você instancia como novo. Compartilhar este post Link para o post Compartilhar em outros sites
MarcosMTS 1 Denunciar post Postado Janeiro 8, 2015 Provavelmente é no local onde instância (manda abrir a tela pra cadastrar) não esta sendo enviado os parâmetros que o construtor la pede (public Frcadastro_salas(string codigo, string nm_sala, string resultado)), como o Khaos acima falou! Entao como ja te recomendei, Crie um novo form para isso, deixe o do cadastro como tava antes e cria um novo parecido, com o nome Fredicao_salas ou algo assim, fazendo as mudanças la no construtor e manda chamar esse no quando clicar em oK ou simplesmente ao Instanciar a tela de cadastro (isso quando abrir para Cadastrar) passa parametros null por exemplo: Frcadastro_salas formSala= new Frcadastro_salas(null, null, null); //eu acho que da certo (não testei); //ou assim acho que resolve string cd_codigo = ""; // ou null no lugar de "" talvez... string nm_sala = ""; string situacao = ""; Frcadastro_salas formSala= new Frcadastro_salas(cd_codigo, nm_sala, situacao ); Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Janeiro 8, 2015 //recebe os dados enviados via parametro public Frcadastro_salas(string codigo, string nm_sala, string resultado) { InitializeComponent(); //aqui depende dos teus provavelmente textbox ai troca o nome ... txtCodigo.Text = codigo; txtNm_sala.Text = nm_sala; txtResultado.Text = resultado; } Pessoal, esse método precisa ter um retorno, nem que seja void. Camarada, você já tentou usar propriedades entre Forms? Por Exemplo: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //Abre a form de cadastro frmCadastro cadastro = new frmCadastro(); cadastro.ShowDialog(); //Recebe a propriedade com o Nome e exibe em uma Label. label1.Text = cadastro.Nome; } } //Form de Cadastro public partial class frmCadastro : Form { //Propriedade tem o mesmo valor da Textbox que adicionei nesta form, // que recebe um nome do usuário. public string Nome { get { return textBox1.Text; } } public frmCadastro() { InitializeComponent(); } //Quando clicar no botão, fecha a janela e volta pra form principal. private void button1_Click(object sender, EventArgs e) { Close(); } } Compartilhar este post Link para o post Compartilhar em outros sites
MarcosMTS 1 Denunciar post Postado Janeiro 8, 2015 //recebe os dados enviados via parametro public Frcadastro_salas(string codigo, string nm_sala, string resultado) { InitializeComponent(); //aqui depende dos teus provavelmente textbox ai troca o nome ... txtCodigo.Text = codigo; txtNm_sala.Text = nm_sala; txtResultado.Text = resultado; } Pessoal, esse método precisa ter um retorno, nem que seja void. Esse é o construtor não precisa de retorno amigo... Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Janeiro 8, 2015 Desculpe amigo, na primeira vista pensei que esse construtor seria um método. Compartilhar este post Link para o post Compartilhar em outros sites
cseverino 0 Denunciar post Postado Janeiro 8, 2015 Pessoal, muito obrigado pela ajuda, especialmente para o MarcosMTS. Minha falha estava na tela de menu. private void salasToolStripMenuItem_Click(object sender, EventArgs e) { Frcadastro_salas Outroform = new Frcadastro_salas(null,null,null); // Inserir o null e funcionou Outroform.ShowDialog(); Compartilhar este post Link para o post Compartilhar em outros sites