none
gridview RRS feed

  • Pergunta

  • Pessoas, boa tarde.

    Como consigo identificar qual linha foi selecionada em um gridview.

    Preciso identificar se alguma linha foi selecionada e se foi, qual foi a linha, usando C# com asp .net.

    Como identifico isso?

    Obrigado

    sexta-feira, 17 de maio de 2013 20:54

Respostas

  • Tem várias maneiras de se fazer isso... vai depender da sua utilização.

    Segue um exemplo, utilizando o CommandField do tipo Select:

    Aspx:

    <asp:GridView ID="grvTeste" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" OnSelectedIndexChanged="grvTeste_SelectedIndexChanged"
            CellPadding="4" ForeColor="#333333" GridLines="None" >
        <AlternatingRowStyle BackColor="White" />
        <Columns>
            <asp:BoundField DataField="Id" />
            <asp:BoundField DataField="Nome" />
            <asp:CommandField ButtonType="Link" ShowSelectButton="true" SelectText="Selecionar" />
        </Columns>
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <RowStyle BackColor="#EFF3FB" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    </asp:GridView>
    <asp:Label ID="lblSelecionado" runat="server" Text="Linha selecionada: " />

    Code Behind:

    protected void grvTeste_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridView gridView = (GridView)sender;
    
        lblSelecionado.Text = string.Format("Linha selecionada=> Indice: {0}; Id: {1}; Nome: {2}", gridView.SelectedIndex, gridView.SelectedDataKey.Value, gridView.Rows[gridView.SelectedIndex].Cells[1].Text);                       
    }

    sexta-feira, 17 de maio de 2013 23:01