none
Como pegar 2 Colunas de 1 linha? DataGridView RRS feed

  • Pergunta

  • Olá pessoal!

     

    Bom tenho um formulario com um DataGridView com uma lista de funcionarios , e quando clicar em na linha correspondente ao funcionario , quero que esses dados fossem transportados para outro formulario , mais queria que só fosse 2 colunas (Nome e Função).

     

    Tava procurando por algum evento de selectedRow e cruzar com as colunas que queria , mais minhas tentativas foram frustradas.

     

    Alguém por favor poderia me ajudar?

     

    Uso Visual Studio 2008 ( C# ) e SQL Server 2005

     

     

    Desde já, fica o meu muito obrigado para quem esclarecer isso para mim.

     

     

    Abraços

    Kaneda;

    terça-feira, 10 de junho de 2008 14:59

Todas as Respostas

  • Ah consegui aqui, já tava apanhando pra isso faz algum tempo.

     

    Agora pra nao deixar o tópico não respondido eu fiz dessa forma:

     

    private void dadosClientesDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)

    {

    calculoCadastro calcula1 = new calculoCadastro();

    calcula1.lblMostraNome.Text = this.dadosClientesDataGridView["dataGridViewTextBoxColumn2", e.RowIndex].Value.ToString();

    calcula1.lblMostraFun‡Æo.Text = this.dadosClientesDataGridView["dataGridViewTextBoxColumn6" , e.RowIndex].Value.ToString();

    calcula1.ShowDialog();

    }

     

     

    E consegui passar para o outro cadastro as informações.Mais aproveitando o tópico já criado , surgiu-me outra dúvida.

     

    No caso no campo função , existe por exemplo ( Vendedores , Embalador e Funcionario de Expedição )

     

    Só que dependendo da função nesta outra Form , gostaria de eliminar alguns campos e outros deixar normal.

    Por exemplo , se o cara é Embalador , ele não vai precisar do Campo "Comissão" "Total de Vendas" e etc...

     

    Ai gostaria que de acordo com a "Função" na outra form eu customizaria os campos "entre visible = false e true"

    Bom gostaria mesmo de saber , como faço para ele comparar o resultado da função e jogar em if , onde eu faria os "true e false" para os campos de acordo com a função.

     

    Vo coloca em Portugol mais ou menos minha idéia.

     

    se (this.datagridview.["colunaFunção", e.rowindex] ) == (colunaFunçao ="vendedor")

    {

    textbox1.text = false;

    textbox2.text = false;

    textbox3.text = false;

    }

     

    Agradeço a esta comunidade que me ajudou muito , mais um vez!

     

     

    Abraços

    Kaneda; 

    terça-feira, 10 de junho de 2008 18:31
  • Kaneda,

     

     Um exemplo em VB…

     

     For Each Linha As DataGridViewRow In Me.TeuDataGridView.Rows

                    '4 é a tal coluna da função

                If Linha.Cells(4).Value Is DBNull.Value Then

                    Linha.Cells(4).Value = False

                End If

                If Linha.Cells(4).Value = "Embalador" Then

                  '3 é a tal coluna da comissão

        My.Forms.TeuOutroForm.TeuOutroDataGridView.Columns(3).Visible = False

     

                End If

            Next

     

    Em C# deve ficar mais ou menos assim :

     

    {

        foreach (DataGridViewRow Linha in this.TeuDataGridView.Rows) {

            if (object.ReferenceEquals(Linha.Cells(4).Value, DBNull.Value)) {

                Linha.Cells(4).Value = false;

            }

            if (Linha.Cells(4).Value == "Embalador") {

                My.Forms.TeuOutroForm.TeuOutroDataGridView.Columns(3).Visible = false;

               

            }

        }

    }

     

    Espero ter ajudado

     

    quarta-feira, 11 de junho de 2008 02:38
  •  

    Ola Jorge!!!

     

    Muito obrigado cara , me quebro um galhão aqui.

    Sabia como era logica , mais não sabia como escrever em código.

    Me ajudo mesmo...

     

     

    Abraços

    Kaneda;

    quarta-feira, 11 de junho de 2008 14:10
  • Oi Kaneda, blz?

    Cara, se as respostas foram úteis, marque.
    É importante para nos motivar a continuar respondendo no Forum, e melhora a busca por respostas. Wink

    Abração.
    quarta-feira, 18 de junho de 2008 15:32