Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    70

    Recuperare valore da un Datagrid

    Ho un datagrid di questo tipo:


    Vorrei fare in modo che al premere del pulsante di select si venga reindirizzati ad un'altra pagina passandogli l'id del record che è stato selezionato.

    Come posso fare?

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Devi fare una CustomColumn con un <asp:Linkbutton con testo "Select", che se ricordo bene ha un CommandArgument. In questo devi mettere il valore dell'ID del record in questo modo:

    codice:
    <asp:Linkbutton ... CommandArgument='<%# Container.DataItem("ID") %>'
    Poi nell'evento _ItemCommand del DataGrid, fai il redirect alla pagina prendendo l'ID.

    codice:
    Sub datagrid_ItemCommand ... Handles datagrid.ItemCommand 
       Dim pagina as string = "visualizza.aspx?ID=" & e.CommandArgument.ToString
       Response.Redirect(pagina)
    End Sub

    Oppure c'e' un modo piu' semplice, basta impostare DataKeyField="id" nel tag del datagrid (senza impostare il CommandArgument nel LB) e nell'evento sopracitato andare all'altra pagina in questo modo:

    codice:
    Sub datagrid_ItemCommand ... Handles datagrid.ItemCommand 
       Dim pagina as string = "visualizza.aspx?ID=" & dataGrid.DataKeys.Item(e.Item.ItemIndex)
       Response.Redirect(pagina)
    End Sub
    Tutto a memoria, scusa eventuali imperfezioni

  3. #3
    Puoi anche fare una magata di questo tipo (il codice è C#):

    codice:
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
          int index = Convert.ToInt32(e.CommandArgument);
         GridViewRow row = this.GridView1.Rows[index];
         int id = Convert.ToInt32(row.Cells[INDICE CELLA].Text.ToString());
         ...
    è un modo meno raffinato, però funziona, ovviamente il codice che ti ho scritto deve essere inserito in un metodo richiamato alla pressione del pulsante di selezione della riga.

    Ciao
    Antonello

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.