Visualizzazione dei risultati da 1 a 5 su 5

Discussione: GridView con dettaglio

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    GridView con dettaglio

    Il mio problema è il seguente

    Ho una gridView con un elenco di dati

    <asp:gridview....
    <columns>
    <asp:boundfield...
    ...

    </columns>

    A questo punto vorrei:

    1) aggiungere una colonna con un pulsante che consenta all'utente di cliccare su un'immagine/link

    2) al click dell'immagine/link "riempire" i textbox che presenti nella pagina con i campi del record selezionato nel grid view... praticamente vorrei visualizzare il "dettaglio" del record selezionato.

    Come posso fare?


    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Un aiutino please ???

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    26
    Aggiungi alla gridview l'attributo DataKeyNames="ID_OGGETTO" e poi questa colonna

    codice:
    <asp:HyperLinkField DataNavigateUrlFields="ID_OGGETTO" DataNavigateUrlFormatString="DettaglioOggetto.aspx?ID_OGGETTO={0}" NavigateUrl="DettaglioOggetto.aspx" HeaderText="Dettagli" Text="Dettagli" />
    Nel codebehind della pagina DettaglioOggetto.aspx inserisci questo codice

    codice:
    int id_oggetto = Convert.ToInt32(Request.QueryString["ID_OGGETTO"]);
    Dopo passi la variabile id_oggetto al parametro della query sql ed estrai dal database le informazioni che ti servono (e le metti in una textbox ad esempio)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille!! Mi sfugge un dettaglio... aggiungo la colonna ... ma come faccio a fare in modo che al click non venga caricata una nuova pagina (DettaglioOggetto) ma che la pagina sia sempre la stessa?? Vorrei capire come gestire il reload nella stessa pagina (al click nel gridView) per usare l'ID nella query... in sintesi vorrei capire come gestire il reload ed il metodo/funzione che esegue la query


    Grazie mille

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    26
    In pratica, se ho capito bene, tu vorresti estrarre semplicemente l'id del campo selezionato e poi gestirtelo come vuoi. Giusto?

    Se sì allora fai così... Aggiungi un templatefield con un link button alla gridview. Ricordati di aggiungere il commandname="select".

    codice:
    <asp:TemplateField HeaderText="Modifica">
    <ItemTemplate>
    <asp:LinkButton ID="lbnModifica" runat="server" Text="Modifica" CommandName="Select"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateField>
    Poi da code behind aggiungi questo codice nell'evento SelectedIndexChanged della gridview e così estrarrai l'id della riga selezionata.

    codice:
    int val = Convert.ToInt32(idGridView.SelectedDataKey.Value);
    Se poi vuoi usare la stessa pagina della gridview per far visualizzare i dettagli non saprei come aiutarti, anche perchè non mi è mai capitato di farlo. Comunque penso che la logica sia la stessa dell'altro metodo. Solo che in questo caso dovresti crearti le texbox a runtime ma non sono sicuro che si faccia effettivamente così

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.