DATAGRIDVIEW PASSAR VALOR DA COLUNA P/ OUTRO FORM

PERCIFILHO 31/07/2015 18:03:10
#449446
Ola pessoal, estou migrando do VB.NET para o C# e estou apanhando um pouco.
Preciso fazer o seguinte: Abro o formulário CadastroClientes e ao clicar no botão de consulta, Abro o formulário ConsultaClientes.
Ao dar duplo clique num registro do DataGridView da consulta, preciso passar o valor da coluna 0 para uma TextBox do formulário CadastroClientes.

No VB.Net eu fazia assim:

[txt-color=#0000f0]
Private Sub DgvClientes_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgvClientes.CellDoubleClick
If DgvClientes.Rows.Count = 0 Then Exit Sub
CadastroClientes.TxtCodigo.Text = DgvClientes.CurrentRow.Cells(0).Value.ToString
End If
End Sub
[/txt-color]
No C#, seria mais ou menos assim:

[txt-color=#0000f0]
private void DgvClientes_CellDoubleClick(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
if (DgvClientes.Rows.Count == 0)
return;
CadastroClientes.TxtCodigo.Text == DgvClientes.CurrentRow.Cells[0].Value.ToString [ô][ô] ESSA LINHA NÃO FUNCIONA
}
[/txt-color]

Alguém poderá me ajudar???????
JABA 31/07/2015 18:17:38
#449448
Resposta escolhida
Você colocou o sinal de igual de forma errada (colocou duas vezes). Faça assim:

CadastroClientes.TxtCodigo.Text = DgvClientes.CurrentRow.Cells[0].Value.ToString
PERCIFILHO 31/07/2015 19:25:10
#449451
Olá Jaba, não é isso, não, (antes fosse), eu já havia tentado assim, mas também não funciona.

na minha linha de código, o Visual Studio sublinha em vermelho
[txt-color=#e80000]CadastroClientes.TxtCodigo[/txt-color].Text = DgvClientes.CurrentRow.Cells[0].Value.ToString();



PERCIFILHO 31/07/2015 19:28:13
#449452
A mensagem de erro que aparece na Error List é essa:

An object reference is required for the non-static field, method, or property [ô]Projeto.CadastroClientes.TxtCodigo[ô]

Não sei como fazer para resolver.
JABA 31/07/2015 20:56:17
#449453
Procure ver como [Ô]CadastroClientes.TxtCodigo.Text[Ô] foi criado internamente no seu projeto. Talvez esse controle esteja como private, intern ou até mesmo static, etc. Declare-o como public e faça o teste.
NILSONTRES 31/07/2015 20:56:22
#449454
PERCIFILHO,
Só uma dica de quem já apanhou muito nessas idas e vindas, antes eu também fazia assim como vc fez.
Citação:

If DgvClientes.Rows.Count = 0


Ainda que nesse caso sua coluna é a 0(zero), Mas se fosse uma das colunas depois dela e vc precisasse acrescentar ou retirar alguma coluna nessa grade, teria que açertar o Código e mudar a condição referente a coluna.
Só depois de ter tantos erros e ou trabalho para refazer grande parte de Código só por causa de ter acrescentado uma ou duas colunas a mais no grid, eu faço assim:.
If Grid_Dados.Columns(e.ColumnIndex).Name = Grdados_Excluir.Name Then
[ô] rotina
End If
Para passar o valor da coluna(celula) é assim:
valor=Grid_Dados.Rows(e.RowIndex).Cells(Grdados_Fabricante.Name).Value
[ô]Grdados_Excluir e Grdados_Fabricante são nomes das colunas, dessa forma você pode acrescentar ou retirar qualquer coluna, que não precisa alterar o código, não foi isso que vc pediu , mas fica a dica.
Detalhe, tem muita gente fazendo assim como você.
JABA 31/07/2015 21:05:11
#449456
Esse CadastroClientes é teu Form, correto? Se sim, você chegou a criar uma instância dele?

Por exemplo:

CadastroClientes form = new CadastroClientes();

form.TxtCodigo.Text = DgvClientes.CurrentRow.Cells[0].Value.ToString();
JABA 31/07/2015 21:13:41
#449457
Nilson, essa parte que você citou é para ver a quantidade de registros no grid, não colunas.
PERCIFILHO 01/08/2015 12:36:39
#449463
Valeu, Nilson, eu entendi o que você quis me mostrar, muito boa a dica.
Eu pensei que fosse mais fácil aprender C# , mas o VB.Net é muuuuuuuuuito mas fácil.
Pra ilustrar melhor o que eu preciso fazer, resolvi postar um exemplo, assim fica mais fácil de vocês ou outros colegas me auxiliarem.
Talvez a meneira que eu estou fazendo esteja errada, gostaria que me mostrassem onde estou errando, pois agora pretendo me entregar [Ô]de vez[Ô] ao C#. Estou adorando.
Até mais.
NILSONTRES 01/08/2015 13:13:24
#449464
JABA,
Citação:

Nilson, essa parte que você citou é para ver a quantidade de registros no grid, não colunas.


Essa dica é só para não referenciar as colunas pelo index, mas sim pelo nome, isso para facilitar a manutenção do projeto e evitar bugs, não tem a ver com a necessidade do PERCIFILHO.
NILSONTRES 01/08/2015 13:15:17
#449465
Citação:

Eu pensei que fosse mais fácil aprender C# , mas o VB.Net é muuuuuuuuuito mas fácil.


Estou a quase 6 anos no vb.net, penso em aprender C#, Mas detesto aquelas chaves,
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas