none
C# RRS feed

  • Pergunta

  • Bom dia

     

    Estou com o seguinte problema, em um cadastro de Empresas tenho as opções de Incluir, Alterar e Excluir. Quando selecionado a opção Editar o sistema abre um Data Grid View para mostrar as empresas já cadastradas, no evento CellDoubleClik preciso que ele retorne para o form que chamou o grid o nome da empresa.

    priate void grdDepartamento_CellDoubleClick(object sender, DataGridViewCellEventArgs e)

    {

        if (e.RowIndex < 0) return;

        string departamento = this.grdDepartamento["clDepartamento", e.RowIndex].Value.ToString();

        f.txtLogin.Text = departamento;

        this.DialogResult = System.Windows.Forms.DialogResult.OK;

    }

    Estou trabalhando com o EntityFramework

     

     

     

     

           

     

     

    quarta-feira, 30 de novembro de 2011 11:38

Respostas

  • Olá Alisson você pode simplificar e fazer assim:

     

    f.txtLogin.Text =  this.grpDepartamento.CurrentRow.Cells["clDepartamento"].Value.ToString();

     

    Se estiver vazio simplesmente retornará uma string vazia.
    Se houver necessidade de criar outra variável string, você pode fazer assim:

     

    string departamento = this.grpDepartamento.CurrentRow.Cells["clDepartamento"].Value.ToString();
    if (!String.IsNullOrEmpty(departamento))
    f.txtLogin.Text =  this.grpDepartamento.CurrentRow.Cells["clDepartamento"].Value.ToString();

    quarta-feira, 30 de novembro de 2011 20:42

Todas as Respostas

  • Olá Alisson,

    f é seu form certo?

    o campo f.txtLogin é criado em tempo de execução?

     

    Em teoria este erro acontece quando você tenta acessar uma propriedade de uma variável nula.. por exemplo acessar a propriedade Text do txtLogin quando ela está nula

     

    Passe o mouse em cima da variável departamento e veja se ela tem valor, faça o mesmo para o f.txtLogin


    Pedro Henrique B. Fernandes
    MCTS - .NET Framework 4, Data Access
    MCTS - .NET Framework 4, Web Applications
    Site: pedrofernandes.net
    quarta-feira, 30 de novembro de 2011 12:02
  • f é o form que vai receber o valor selecionado no grid

    txtLogin pertence ao f

    quarta-feira, 30 de novembro de 2011 12:09
  • A string departamento esta vazio por isto acusa este erro, prga pegar faze assim:

    Aqui vai um exemplo, adapta:

     private void button2_Click(object sender, EventArgs e)

            {

                if (this.dataGridView1.SelectedRows.Count > 0)

                {

                    String Nome = (string)(this.dataGridView1.SelectedRows[0].Cells[2].Value.ToString());

                    Form2 frm2 = new Form2();

                    frm2.TestarProjecto.Nome = Nome;

                    frm2.Show();

     

                }

            }


    One word frees us of all the weight and pain of life: that word is love.
    quarta-feira, 30 de novembro de 2011 17:16
    Moderador
  • A string departamento esta vazio por isto acusa este erro, prga pegar faze assim:

    Aqui vai um exemplo, adapta:

     

     private void button2_Click(object sender, EventArgs e)

            {

                if (this.dataGridView1.SelectedRows.Count > 0)

                {

                    String Nome = (string)(this.dataGridView1.SelectedRows[0].Cells[2].Value.ToString());

                    Form2 frm2 = new Form2();

                    frm2.TestarProjecto.Nome = Nome;

                    frm2.Show();

     

                }

            }

     


    One word frees us of all the weight and pain of life: that word is love.

    (string)(this.dataGridView1.SelectedRows[0].Cells[2].Value.ToString());

    Acho errado pra que fazer um CAST em algo que já em string???

    this.dataGridView1.SelectedRows[0].Cells[2].Value.ToString();

     

    Outra Forma:

    if(departamento == null)

    departament = "";


    "Desenvolvendo..." 
    quarta-feira, 30 de novembro de 2011 18:08
  • Olá Alisson você pode simplificar e fazer assim:

     

    f.txtLogin.Text =  this.grpDepartamento.CurrentRow.Cells["clDepartamento"].Value.ToString();

     

    Se estiver vazio simplesmente retornará uma string vazia.
    Se houver necessidade de criar outra variável string, você pode fazer assim:

     

    string departamento = this.grpDepartamento.CurrentRow.Cells["clDepartamento"].Value.ToString();
    if (!String.IsNullOrEmpty(departamento))
    f.txtLogin.Text =  this.grpDepartamento.CurrentRow.Cells["clDepartamento"].Value.ToString();

    quarta-feira, 30 de novembro de 2011 20:42