Ynaue Postado Maio 19, 2008 Denunciar Share Postado Maio 19, 2008 Oi Pessoal,Tem como pegar os elementos de um DataGrid pelo nome da coluna?Pois não gosto desse jeito:descricao.Text = e.Item.Cells(1).Textporque se mudar a coluna de posição tenho que alterar o codigo tambem.Obrigada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 20, 2008 Denunciar Share Postado Maio 20, 2008 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:If Grade.CurrentRow IsNot Nothing Then 'Se existir uma linha selecionada obj = Grade.CurrentRow.DataBoundItem End IfOnde obj é um objeto do tipo que está sendo exibido na DataGridView. Depois disso basta obter as propriedades desejadas do objeto.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Maio 20, 2008 Denunciar Share Postado Maio 20, 2008 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Ynaue -- Postado Maio 21, 2008 Denunciar Share Postado Maio 21, 2008 Oi! Mas o Datagrid não possui a metodo CurrentRow (pelo menos no 2003 com framework 1.1 )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:If Grade.CurrentRow IsNot Nothing Then 'Se existir uma linha selecionada obj = Grade.CurrentRow.DataBoundItem End IfOnde obj é um objeto do tipo que está sendo exibido na DataGridView. Depois disso basta obter as propriedades desejadas do objeto.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Maio 21, 2008 Denunciar Share Postado Maio 21, 2008 Isso porque o gray se referiu ao DataGridView (ou GridView), ambos presentes apartir da versão 2.0 da plataforma. Use:If Grade.CurrentRowIndex > -1 Then ... End Ifhttp://msdn.microsoft.com/en-us/library/sy...id_members.aspx (documentação da grade, que já está depreciada, apartir da versão 2.0)Até mais! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ynaue
Oi Pessoal,
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!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.