Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    GridView e popolare un record su più righe

    Salve a tutti...
    Di solito uso raramente scrivere sul forum perchè di solito trovo come risolvere il problema semplicemente leggendo le vostre risposte...
    ma questa volta sto impazzendo con una gridview e sto cominciando ad avere il dubbio se si può fare o meno...

    In pratica ho una gridview che popolo totalmente in runtime
    anche la struttura e la quantità delle colonne viene creata in runtime.
    tutto basato su una query da database.

    Ora il mio problema e che la gridview crea una griglia con tutti i dati prelevati dal database aggiungendo tutti i campi uno di fianco all'altro in un unica riga.

    Vorrei creare una struttura su più righe, invece.
    ad esempio in database ho i campi:
    Nome - Cognome - indirizzo - Note

    ovviamente la gridview mi visualizza:
    Nome - Cognome - Indirizzo - Note
    Nome - Cognome - Indirizzo - Note
    Nome - Cognome - Indirizzo - Note
    Nome - Cognome - Indirizzo - Note
    ...

    vorrei invece visualizzare una struttura di questo tipo:
    Nome - Cognome - Indirizzo
    Note
    Nome - Cognome - Indirizzo
    Note
    Nome - Cognome - Indirizzo
    Note
    Nome - Cognome - Indirizzo
    Note

    è possibile farlo con la gridview? se no esiste qualche oggetto con cui è possibile farlo?
    ovviamente qualche oggetto che accetti l'attributo "AllowPage"

    P.S. i dati li prelevo con un sqlDataSource
    e dopo che ho dichiarato i boundfield in runtime e assegnato loro un datafield popolo il tutto con il databind()

    Grazie in Anticipo

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Credo che l'unica soluzione sia un TemplateField.

    codice:
        <Columns>
            <asp:TemplateField>
            <ItemTemplate>
            <table border=1>
    
            
            <tr>
                <td>
                    <asp:Label ID="Nome" runat="server" Text='<%# Container.DataItem("nome") %>'></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Cognome" runat="server" Text='<%# Container.DataItem("cognome") %>'></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Indirizzo" runat="server" Text='<%# Container.DataItem("indirizzo") %>'></asp:Label>
                </td>
            </tr>
    
            
            <tr>
                <td colspan="3" align="left">
                    <asp:Label ID="Note" runat="server" Text='<%# Container.DataItem("note") %>'></asp:Label>
                </td>
            </tr>
            </table>
            </ItemTemplate>
            </asp:TemplateField>
       </columns>
    Insomma, devi cambiare metodo e non creare piu' le colonne a runtime

  3. #3
    Non creare più le colonne a runtime mi sa che mi risulterà impossibile...

    in realtà prima di accedere alla gridview ho una sorta di campo ricerca.. a seconda delle selezioni della ricerca cosi cambiano i campi nella query

    Ho provato lo script che mi hai dato tu e funziona bene.. ma ora hop il problema che se tramite la ricerca devo, nella query, togliere il campo cognome ed inserire numero di telefono e codice fiscale non posso farlo...



    Cmq grazie... sto un passo avanti.. sto in ogni caso vedendo se posso generare la tabella in runtime.. ma non mi vede l'idi della tabella all'interno del itemtemplate.. sgrunt

    Se hai qualche altra idea.. sono qui ad accettarla ben volentieri

  4. #4
    Ciao, ma se io dovessi scaricare, al posto di un singolo dato, il risultato di una funzione come posso fare?
    Scusa se la domanda può sembrare stupida ma sono un neofita e sto cercando di capirci qualcosa!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.