Pegar Dados do GridView

29/09/2008

0

Pessoal, to insistindo nisso porque estou precisando muito:

Tenho alguns Edits, no meu WebForm, e tenho um GridView, onde tem alguns registros, como ID, NOME, DATA_NASC, ASILO e gostaria de clicar no item SELECIONAR do GridView e aparecer os dados nos Edits acima, no Delphi 2006 eu fazia assim:

procedure TWebForm1.gridIdosos_ItemCommand(source: System.Object; e: System.Web.UI.WebControls.DataGridCommandEventArgs);
begin
txtID.Text := e.Item.Cells.Item[0].Text;
txtNome.Text := e.Item.Cells.Item[1].Text;
txtDataNasc.Text := e.Item.Cells.Item[2].Text;
ddlAsilo.SelectedValue := e.Item.Cells.Item[5].Text;
btnAlterar.Enabled := True;
btnIncluir.Enabled := False;
end;

Porem no Delphi 2007, não consigo isso, eu sei que é duplicidade de pergunta, mas estou precisando muito dessa dica.

Valeu


Pauloroger

Pauloroger

Responder

Posts

31/03/2009

Tiagom

Boa tarde Paulo, conseguiu alguma solução pra sua pergunta? Estou precisando também. Uso Delphi.NET 2007


Responder

02/04/2009

Pauloroger

Nada, não conseguir resolver isso, que eu fiz, cambiarra, mas to rolando

Na minha pagina, coloquei um DataGrid, e estou usando como estivesse no BDS2006. rsrsrsrsr


Responder

03/04/2009

Tiagom

Hehe, Vou ver o que consigo por aqui. Vlw Paulo.


Responder

15/04/2009

Pauloroger

- Recuperar Valores

Tive alguns problemas para recuperar os valores de uma gridview no começo porque quando você define que a coluna código, por exemplo, é visible=false, ele não permite pegar o conteúdo daquela coluna facilmente, mas com DataKeys é tranquilo, os códigos abaixo:

GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Item[0].ToString;

ou

GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Values[0].ToString;

Na gridview precisa ser preenchido a propriedade DataKeysNames, pode ir direto no código ou configurar na paleta propriedades mesmo, coloque o nome do campo que busca no BD, se quiser pode colocar mais de um(array), desde que separe com vírgula, se colocar mais de um, muda o valor -> Values[array], por exemplo, se quiser pegar o valor NOME, ficaria assim:

Ex: datakeynames=´CODIGO, NOME´
GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Values[0].ToString; //pega o código
GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Values[1].ToString; //pega o nome

O evento para pegar os valores é o RowCommand, fica no mesmo estilo que datagrid, coloca um buttonfield e atribui um commandname pra ele, no evento rowcommand testa, if e.commandname = ´xxx´ then begin...

Fonte: http://geeksnet.blogspot.com/2008/09/ol-todos-este-tutorial-sobre-gridview.html


Responder

15/04/2009

Tiagom

Paulo, obrigado pelas dicas. O que eu queria era pegar o campo código da linha selecionada e jogar esse campo em uma variavel de sessão, essa variavel de sessão é utilizada em uma página que é carregada antes da tela de busca. Então eu fiz o seguinte, no evento SelectedIndexChanged, coloquei assim:
[b:e3f7c5a9ef][b]Session[´COD_LOCAL´]:= Gridview1.SelectedDataKey.Values[0].ToString;
response.Redirect(´Pagina_Anterior.aspx´);[/b:e3f7c5a9ef]

e no evento Onload da página anterior, coloquei em uma estrutura de If um Try para verificar a variavel de sessão. Apanhei um pouco do Postback, mas agora ta funcionando legal. Valeu mesmo Paulo


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar