ASP .NET - Como obter valores da linha selecionada em um GridView
Nesta dica você vai aprender como obter os valores da linha selecionada em um controle GridView exibindo-os em controles TextBox usando a linguagem C# e VB .NET.
No exemplo usado neste artigo vou usar o Visual Web Developer 2010 Express Edition.
Abra o VWD 2010 Express e crie um novo web site com o nome ObterValorLinhaSelecionada.
No menu File -> New web Site , selecione a linguagem Visual C# e o template ASP .NET Empty Web Site e informe o nome conforme indicado;
No menu Web Site -> Add New Item e escolha o template Web Form e aceite o nome padrão Default.aspx para incluir uma página no web site.
Agora vamos incluir um controle SqlDataSource de forma a termos uma fonte de dados para preencher o controle GridView e aceitar o nome padrão SqlDataSource1.
Vamos usar como fonte de dados a tabela Products do banco de dados Northwind.mdf.
Inclua o controle na página e a seguir clique na opção Configure Data Source...
Na janela do assistente selecione a conexão com o Northwind.mdf (se ela não existir clique em New Connection para criar) e clique em Next>;
A seguir selecione a tabela Products conforme a figura abaixo e clique em Next>;
Para encerrar clique em Finish;
Selecione o controle GridView e em GridView Tasks selecione Choose Data Source e escolha SqlDataSource1 para vincular o controle a fonte de dados;
Selecione o GridView novamente e clique na opção Edit Columns e vamos excluir algumas colunas para exibir no grid somente as que vemos na figura abaixo:
Agora inclua abaixo do GridView 3 controles Labels e 3 controles TextBox (IDs = TextBox1,TextBox2,TextBox3) conforme o leiaute abaixo:
Vamos usar evento SelectedIndexChanged do controle GridView para colocar o código que irá capturar as informações da linha selecionada e exibir os valores nos controles TextBox da página.
Clique duas vezes sobre o controle GridView e no evento SelectedIndexChanged digite o seguinte código:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { TextBox1.Text = GridView1.SelectedRow.Cells[1].Text; TextBox2.Text = GridView1.SelectedRow.Cells[2].Text; TextBox3.Text = GridView1.SelectedRow.Cells[5].Text; } |
O mesmo código acima para a versão na linguagem VB .NET seria:
Protected Sub GridView1_SelectedIndexChanged(sender
As Object, e As EventArgs) TextBox1.Text = GridView1.SelectedRow.Cells(1).Text TextBox2.Text = GridView1.SelectedRow.Cells(2).Text TextBox3.Text = GridView1.SelectedRow.Cells(5).Text End Sub |
Execute o web site e selecione algumas linhas verificando o resultado.
Simples, simples assim...
Pegue o projeto completo aqui: obterValorLinhaSelecionada.zip
Eu sei é apenas C# e VB .NET, mas eu gosto...
Referências: