Tem como pegar os elementos de um DataGrid pelo nome da coluna?
Pois não gosto desse jeito: descricao.Text = e.Item.Cells(1).Text
porque se mudar a coluna de posição tenho que alterar o codigo tambem.
Obrigada!
Graymalkin
20/05/2008 - 07:45
Na verdade, você deveria pegar o dado correspondente à linha selecionada, que será um objeto e não o texto diretamente de uma célula. Você pode obter isso assim:
CODE
If Grade.CurrentRow IsNot Nothing Then 'Se existir uma linha selecionada obj = Grade.CurrentRow.DataBoundItem End If
Onde obj é um objeto do tipo que está sendo exibido na DataGridView. Depois disso basta obter as propriedades desejadas do objeto.
Abraços,
Graymalkin
Denis Bittencourt Muniz
20/05/2008 - 18:35
Realmente, seria mais fácil usar a propriedade BoundItem.
Mas respondendo a pergunta: Não, infelizmente, já que Cells é um vetor, sendo que suporta referência apenas por índice.
Até mais!
--Ynaue --
21/05/2008 - 08:26
Oi!
Mas o Datagrid não possui a metodo CurrentRow (pelo menos no 2003 com framework 1.1 )
QUOTE(Graymalkin @ 20/05/2008 - 07:45)
Na verdade, você deveria pegar o dado correspondente à linha selecionada, que será um objeto e não o texto diretamente de uma célula. Você pode obter isso assim:
CODE
If Grade.CurrentRow IsNot Nothing Then 'Se existir uma linha selecionada obj = Grade.CurrentRow.DataBoundItem End If
Onde obj é um objeto do tipo que está sendo exibido na DataGridView. Depois disso basta obter as propriedades desejadas do objeto.
Abraços,
Graymalkin
Denis Bittencourt Muniz
21/05/2008 - 09:57
Isso porque o gray se referiu ao DataGridView (ou GridView), ambos presentes apartir da versão 2.0 da plataforma. Use:
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.