Usuário com melhor resposta
TextBox Não Recebe valor da Variável

Pergunta
-
Boa Noite!
Estou montando um sistema onde em um formulário eu preciso fazer uma busca e selecionar um centro de custo, para isso eu criei um outro formulário com um DataGridView e com o evento DoubleClick para selecionar os dados. Para passar e esse DoubleClick para o form anterior fiz o seguinte:
OBS: O valor da Variavel na MessageBox é exibido perfeitamente mas quando atribuo para o TextBox ele simplesmente fica em branco como se a variável estivesse vazia.
CÓDIGO DO FORM QUE RECEBERA OS DADOS:
//BUSCAR O CIDADE public void setCentroCusto(string custo, string nome) { InitializeComponent(); //this.txtIdCusto.Text = id; // this.txtCusto.Text = cidade; //custo = CUSTO; //nome = NOME; this.txtIdCusto.Text = custo; this.txtCusto.Text = nome; MessageBox.Show(nome); }
CÓDIGO DO FORM QUE PASSARA OS DADOS:
private void dataLista_DoubleClick(object sender, EventArgs e) { frmDocumento form = new frmDocumento(); //form.CUSTO = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); //form.NOME = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); string par1; string par2; par1 = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); par2 = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); form.setCentroCusto(par1, par2); this.Hide(); }
Respostas
-
Lucio, bom dia!
Você precisa atribuir o evento no seu grid, clica no seu grid, e vai em eventos, e escolha o evento CellDoubleClick.
Se você copiar meu código, não vai dar certo mesmo, porque não é o mesmo nome do seu grid.
Ai você da dois cliques no evento, e coloca o código que te passei dentro do evento.
É pra ficar assim:
private void dataLista_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { pCodigo = Convert.ToInt32(dataGridView1.CurrentRow.Cells["codigo"].Value); pNome = dataGridView1.CurrentRow.Cells["nome"].Value.ToString().Trim(); selecionouCentroCusto = true; this.Close(); }
att.
Felipe
- Marcado como Resposta Lucio Henrique quinta-feira, 13 de julho de 2017 13:15
Todas as Respostas
-
Boa Noite!
Estou montando um sistema onde em um formulário eu preciso fazer uma busca e selecionar um centro de custo, para isso eu criei um outro formulário com um DataGridView e com o evento DoubleClick para selecionar os dados. Para passar e esse DoubleClick para o form anterior fiz o seguinte:
OBS: O valor da Variavel na MessageBox é exibido perfeitamente mas quando atribuo para o TextBox ele simplesmente fica em branco como se a variável estivesse vazia.
CÓDIGO DO FORM QUE RECEBERA OS DADOS:
//BUSCAR O CIDADE public void setCentroCusto(string custo, string nome) { InitializeComponent(); //this.txtIdCusto.Text = id; // this.txtCusto.Text = cidade; //custo = CUSTO; //nome = NOME; this.txtIdCusto.Text = custo; this.txtCusto.Text = nome; MessageBox.Show(nome); }
CÓDIGO DO FORM QUE PASSARA OS DADOS:
private void dataLista_DoubleClick(object sender, EventArgs e) { frmDocumento form = new frmDocumento(); //form.CUSTO = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); //form.NOME = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); string par1; string par2; par1 = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); par2 = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); form.setCentroCusto(par1, par2); this.Hide(); }
Boa noite, Amigo.
Aparentemente não existe nenhum erro em seu código.
Tente colocar uma String padrão no textbox como "Olá mundo" e veja o que acontece. Já aconteceu de o style de um dos meus componentes esconder o texto.
Abraços e boa sorte.
- Editado j.gabrieltec quarta-feira, 12 de julho de 2017 01:57
-
Lucio, bom dia!
No seu evento DoubleClick, você não chama o form (Show/ShowDialog)?
Ficaria melhor você passar os valores por propriedades.
Exemplo:
private void btnChamarForm_Click(object sender, EventArgs e) { Form4 oForm4 = new Form4(); oForm4.ShowDialog(); if (oForm4.SelecionouCentroCusto) { txtCodigo.Text = oForm4.Codigo.ToString(); txtNome.Text = oForm4.Nome.Trim(); } } //FORM LISTAGEM DOS CENTROS DE CUSTOS #region Atributos private bool selecionouCentroCusto = false; private int pCodigo = 0; private string pNome = string.Empty; #endregion #region Propriedades public bool SelecionouCentroCusto { get { return selecionouCentroCusto; } } public int Codigo { get { return pCodigo; } } public string Nome { get { return pNome; } } #endregion private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { pCodigo = Convert.ToInt32(dataGridView1.CurrentRow.Cells["codigo"].Value); pNome = dataGridView1.CurrentRow.Cells["nome"].Value.ToString().Trim(); selecionouCentroCusto = true; this.Close(); }
Aqui funcionou, perfeitamente:
Qualquer dúvida, estou a disposição.
att.
Felipe
-
Felipe,
Fiz como você passou o private void dataGridView1_CellDoubleClic ficou com 0 Referencias
E continuou sem Funcionar
Mostrar os códigos como ficou:
private void button2_Click(object sender, EventArgs e) { /*frmBusca.frmBuscarCentroCusto frm = new frmBusca.frmBuscarCentroCusto(); frm.Show();*/ frmBusca.frmBuscarCentroCusto oForm4 = new frmBusca.frmBuscarCentroCusto(); oForm4.ShowDialog(); if (oForm4.SelecionouCentroCusto) { txtIdCusto.Text = oForm4.Codigo; txtCusto.Text = oForm4.Nome; } }
E o Outro:
//FORM LISTAGEM DOS CENTROS DE CUSTOS #region Atributos private bool selecionouCentroCusto = false; private string pCodigo = ""; private string pNome = string.Empty; #endregion #region Propriedades public bool SelecionouCentroCusto { get { return selecionouCentroCusto; } } public string Codigo { get { return pCodigo; } } public string Nome { get { return pNome; } } #endregion private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { pCodigo = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); pNome = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); selecionouCentroCusto = true; this.Close(); }
-
Boa Noite!
Estou montando um sistema onde em um formulário eu preciso fazer uma busca e selecionar um centro de custo, para isso eu criei um outro formulário com um DataGridView e com o evento DoubleClick para selecionar os dados. Para passar e esse DoubleClick para o form anterior fiz o seguinte:
OBS: O valor da Variavel na MessageBox é exibido perfeitamente mas quando atribuo para o TextBox ele simplesmente fica em branco como se a variável estivesse vazia.
CÓDIGO DO FORM QUE RECEBERA OS DADOS:
//BUSCAR O CIDADE public void setCentroCusto(string custo, string nome) { InitializeComponent(); //this.txtIdCusto.Text = id; // this.txtCusto.Text = cidade; //custo = CUSTO; //nome = NOME; this.txtIdCusto.Text = custo; this.txtCusto.Text = nome; MessageBox.Show(nome); }
CÓDIGO DO FORM QUE PASSARA OS DADOS:
private void dataLista_DoubleClick(object sender, EventArgs e) { frmDocumento form = new frmDocumento(); //form.CUSTO = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); //form.NOME = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); string par1; string par2; par1 = Convert.ToString(dataLista.CurrentRow.Cells["CUSTO"].Value); par2 = Convert.ToString(dataLista.CurrentRow.Cells["NOME"].Value); form.setCentroCusto(par1, par2); this.Hide(); }
Boa noite, Amigo.
Aparentemente não existe nenhum erro em seu código.
Tente colocar uma String padrão no textbox como "Olá mundo" e veja o que acontece. Já aconteceu de o style de um dos meus componentes esconder o texto.
Abraços e boa sorte.
-
Lucio, bom dia!
Você precisa atribuir o evento no seu grid, clica no seu grid, e vai em eventos, e escolha o evento CellDoubleClick.
Se você copiar meu código, não vai dar certo mesmo, porque não é o mesmo nome do seu grid.
Ai você da dois cliques no evento, e coloca o código que te passei dentro do evento.
É pra ficar assim:
private void dataLista_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { pCodigo = Convert.ToInt32(dataGridView1.CurrentRow.Cells["codigo"].Value); pNome = dataGridView1.CurrentRow.Cells["nome"].Value.ToString().Trim(); selecionouCentroCusto = true; this.Close(); }
att.
Felipe
- Marcado como Resposta Lucio Henrique quinta-feira, 13 de julho de 2017 13:15
-
-