Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ciniro

Acessando label dentro de DataGrid(TemplateColumn)

Recommended Posts

Estou com uma dúvida cruel e preciso muuuuuuuuuuito de ajuda.É o seguinte:Desenvolvo com C# e ASP.NET no Visual Studio 2003No momento estou desenvolvendo um sistema de busca, onde o usuáriofiltra os dados e exibo num dataGrid o resultado, com foto, texto e etc.Estou trabalhando com um datagrid, este está composto por 5 colunas dotipo TemplateColumn e dentro destas colunas tenho 3 tipos de objetos.Label(vários por linha), ImageButton(um por linha) e CommandButton(um por linha).Estes carregam os dados do meu banco, até ai tudo bem.Minha dúvida é a seguinte. Como faço para que quando o usuário clicar no button, eu tenha algum tipo de propriedade que me retorne as propriedades text dos labels que ficam na mesma linhaque o button clicado?Ou seja quero saber como acessar os meus objetos e suas propriedades dentro do dataGrid, pois quando o usuário clica neste botão eu preciso de um código que está dentro de um dos labels e este código colocarei dentro de um session parabuscar mais dados na página seguinte.Quero fazer algo muito semelhante ao que ocorre no site www.webmotors.com.br,onde o cara faz a busca do carro desejado na página inicial, um dataGrid épreenchido com foto e texto sobre os carros consultados, quando o usuárioescolhe o carro clica num botão na mesma linha do dataGrid e este vai para a páignacom todas as informações sobre o carro.Já estou com esse problema a dias, se alguém puder me ajudar ficaria muito grato.Ciniro Nametala - cinironet@zipmail.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Configure o evento ItemCommand do set DataGrid e coloque seu código dentro do mesmo da seguinte forma.((Label) e.Item.FindControl("ID_do_Controle")).TextAssim você consegue capturar o valor do Label da linha atual. Se for TextBox você muda o cast para (TextBox) ao invés de (Label) obviamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Configure o evento "ItemDataBound" da sua DataGridVerifique se a linha que está acessando é um Item ou um AlternatingItem. Isso para é preciso pq a linha de cabeçalho e rodapé passam por esse evento.O parametro "e" que é um "DataGridItemEventArgs" possui a linha do datagrid (Cada linha passa neste método.)Se você tem uma label no seu DataGrid e o nome dela é "lblTexto", você tem que localizar ele usando o "FindContro" e fazer um cast (Conversão) para o tipo Label.if ( (e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)){ ((Label)e.Item.FindContro("lblTexto")).Text = "Seu Texto";}David Wellington Pereiradavidwpereira@yahoo.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.