Array
(
)

Pegar valor de id do Gridview

Robsonstori
   - 23 abr 2008

Olá pessoal,

Coloquei um gridview e faço uma pesquisa, só que eu queria que quando uma pessoa clicasse no botão editar aparecesse no textbox o valor do campo id daquela linha.

Seria mais ou menos o que acontece quando vincula o gridview com o detail, mas eu estou fazendo na mão.

até agora não consegui

Peguei essa dica em outro item, mas ai acho que é para passar para outra página. No meu caso seria na mesma página.

<¬# Eval(´idUsuario´, ´~/suaPagina.aspx?id={0}´) ¬>

agradeço desde já

Rfurlanbb
   - 23 abr 2008

passe no botao do grid que vc quer editar no comannd argument o valor Eval(´id´).

No Evento rowcommand do gridview vc pega o evento :

GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

e passa para label o valor... por ex:

Labe1.text = e.CommandArgument.ToString();

Acho que isso pode resolver;

Espero ter ajudado.

Robsonstori
   - 23 abr 2008

Eu achei a parte do GridView RowCommand. Coloquei exatamente assim:

*********************************************************
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand

TextBox1.Text = e.CommandArgument.ToString()
End Sub
*********************************************************
Ele está retornando o valor da linha.

Tentei assim: TextBox1.Text = e.CommandArgument.ToString(codempresa) mas dá erro.

A parte do Eval(´id´) que no meu caso acho que seria Eval(´codempresa´)
Não achei onde colocar.

Estou selecionando o grid
Vou em ´add new columns´
seleciono: Buttonfields
Header text: Editar
Button type: Button
Command name: Edit
Text: Editar

O Grid está sem o datasource configurado nele. Tô fazendo via código. Defini as colunas direto. Não sei se é isso que pode tá atrapalhando.

agradeço pela ajuda

Rfurlanbb
   - 24 abr 2008

Robson......

Mesmo sem data source da certo... vc vai colocar template fields no gridview..

Ai vc entra em edit templates... e seleciona item template.... até o ponto onde vc coloqcou os links para os campos...

Selecione o campo que vc pretende passar o valor... e escolha edit databindings.. na propriedade text do campo vc passa bind(´id´).

que ai o command argument vai pegar ovalor que vc quer passar.

Espero ter ajudado...

flw....

Robsonstori
   - 26 abr 2008

Num é que funcionou.

obrigado rfurlanbb

agora vou tentar entender rsrsrs.

Burnbr
   - 02 mai 2008

Bom dia
ou vc pega seta a propriedade DataKeyNames da grid para o campo que é seu ID: EX: idCliente

ai quando o usuario clicar no botao de selecionar é disparado o evento selecteditem

e la vc tem a propriedade

grid.selectedValue.

Espero ter ajudado.