Condividi tramite


Cenni preliminari sul controllo server Web DataList

Aggiornamento: novembre 2007

Nel controllo server Web DataList sono visualizzate righe di informazioni di database in formato personalizzabile. Il formato per la visualizzazione dei dati è definito nei modelli che vengono creati. È possibile creare modelli per elementi, elementi alternati, elementi selezionati ed elementi di modifica. Sono inoltre disponibili modelli per intestazioni, piè di pagina e separatori che consentono di personalizzare l'aspetto complessivo del controllo DataList. Mediante l'inclusione dei controlli server Web Button nei modelli è possibile associare le voci dell'elenco al codice che consente agli utenti di passare tra le modalità di visualizzazione, selezione e modifica.

Vengono illustrati i seguenti argomenti:

  • Informazioni di supporto

  • Esempi di codice

  • Riferimento alle classi

Informazioni di supporto

Il controllo server Web DataList visualizza i dati in un formato definibile mediante modelli e stili. Il controllo DataList semplifica la gestione dei dati inclusi in una struttura ripetuta, quale una tabella. Il controllo DataList inoltre visualizza i dati in diversi layout, ad esempio ordinandoli in colonne o righe.

Nota:

Il controllo DataList esegue il rendering delle voci di un elenco utilizzando gli elementi della tabella HTML. Per gestire accuratamente i dati HTML utilizzati per il rendering di un elenco, utilizzare il controllo server Web Repeater anziché il controllo DataList.

Se si desidera, è possibile configurare il controllo DataList in modo da consentire agli utenti di modificare o eliminare le informazioni. Il controllo può inoltre essere personalizzato per il supporto di altre funzionalità, ad esempio la selezione di righe.

È possibile utilizzare modelli per definire il layout degli elementi includendo controlli e testo HTML. È ad esempio possibile utilizzare un controllo server Web Label in un elemento per visualizzare un campo dall'origine dati.

Nelle sezioni riportate di seguito viene fornita un'introduzione alle funzionalità del controllo DataList.

Associazione di dati al controllo

Il controllo server Web DataList deve essere associato a un'origine dati. L'origine dati più comune è un controllo origine dati, quale SqlDataSource o ObjectDataSource. In alternativa, è possibile associare un controllo DataList a ogni classe che implementa l'interfaccia IEnumerable, in cui sono inclusi i dataset ADO.NET (classe DataSet), lettori dati (classe SqlDataReader o OleDbDataReader) o più insiemi. Quando si associano i dati, è necessario specificare un'origine dati per l'intero controllo DataList. Se a questo controllo vengono aggiunti altri controlli, ad esempio etichette o caselle di testo incluse negli elementi di un elenco, le proprietà dei controlli figlio potranno essere associate ai campi nell'elemento dati corrente.

Definizione di modelli per elementi DataList

Nel controllo DataList è possibile definire il layout delle informazioni utilizzando modelli.

Nota:

Per informazioni generali sull'utilizzo dei modelli, vedere Modelli dei controlli server Web ASP.NET.

Nella tabella riportata di seguito viene fornita la descrizione dei modelli supportati dal controllo DataList.

Proprietà di modello

Descrizione

ItemTemplate

Include i controlli e gli elementi HTML di cui deve essere eseguito il rendering una volta per ogni riga contenuta nell'origine dati.

AlternatingItemTemplate

Include i controlli e gli elementi HTML di cui deve essere eseguito il rendering una volta per ogni altra riga contenuta nell'origine dati. Questo modello è in genere utilizzato per differenziare l'aspetto delle righe alternate, ad esempio per assegnare un colore di sfondo diverso da quello specificato nella proprietà ItemTemplate.

SelectedItemTemplate

Include gli elementi di cui deve essere eseguito il rendering quando l'utente seleziona un elemento nel controllo DataList. Questo modello in genere è utilizzato per distinguere visivamente la riga selezionata tramite un colore dello sfondo o del tipo di carattere diverso. È inoltre possibile espandere l'elemento visualizzando campi aggiuntivi dall'origine dati.

EditItemTemplate

Specifica il layout di un elemento quando questo si trova in modalità di modifica. In questo modello sono in genere contenuti controlli di modifica, quali i controlli TextBox.

HeaderTemplate e FooterTemplate

Include il testo e i controlli di cui deve essere eseguito il rendering rispettivamente all'inizio e alla fine dell'elenco.

SeparatorTemplate

Include gli elementi di cui deve essere eseguito il rendering tra ciascun elemento. Un esempio tipico può essere una riga, per la quale viene utilizzato un elemento HR.

Stili

Per specificare l'aspetto degli elementi in un modello è possibile impostare lo stile del modello. È ad esempio possibile specificare quanto segue:

  • Il rendering degli elementi viene eseguito utilizzando testo nero su sfondo bianco.

  • Il rendering degli elementi alternati viene eseguito utilizzando testo nero su sfondo grigio chiaro.

  • Il rendering dell'elemento selezionato viene eseguito utilizzando testo nero in grassetto su sfondo giallo.

  • Il rendering degli elementi in fase di modifica viene eseguito utilizzando testo nero su sfondo azzurro.

Ogni modello supporta uno specifico oggetto di stile, le cui proprietà possono essere impostate sia in fase di progettazione che in fase di esecuzione. È possibile utilizzare gli stili seguenti:

Per ulteriori informazioni, vedere Controlli server Web ASP.NET e stili CSS.

Layout degli elementi

Il controllo DataList utilizza una tabella HTML per definire il layout del rendering degli elementi a cui si applica il modello. È possibile definire l'ordine, la direzione e il numero di colonne per le singole celle della tabella utilizzata per il rendering degli elementi DataList. Nella tabella riportata di seguito vengono descritte le opzioni di layout supportate dal controllo DataList.

Opzione di layout

Descrizione

Layout di flusso

Nel layout di flusso viene eseguito il rendering inline degli elementi dell'elenco, come in un documento creato mediante un elaboratore di testi.

Layout di tabella

Nel layout di tabella il rendering degli elementi viene eseguito in una tabella HTML. Questa opzione consente di specificare l'aspetto degli elementi in diversi modi, perché permette di impostare le proprietà delle celle della tabella, ad esempio le linee della griglia. Per informazioni dettagliate, vedere Procedura: specificare un formato di flusso o di tabella nei controlli server Web DataList.

Layout verticale e orizzontale

Per impostazione predefinita, gli elementi contenuti in un controllo DataList vengono visualizzati in una colonna verticale singola. È tuttavia possibile specificare che il controllo deve contenere più di una colonna. In tal caso, si può inoltre specificare se gli elementi devono essere ordinati verticalmente (come nelle colonne di un quotidiano) oppure orizzontalmente (come i giorni all'interno di un calendario). Per informazioni dettagliate, vedere Procedura: specificare il layout orizzontale o verticale nei controlli server Web DataList.

Numero di colonne

È possibile specificare il numero di colonne da inserire nell'elenco, indipendentemente dall'ordinamento verticale o orizzontale degli elementi presenti in un controllo DataList. Ciò consente di controllare la larghezza utilizzata per il rendering della pagina Web, in genere impostata per evitare lo scorrimento orizzontale.

Eventi

Il controllo DataList supporta numerosi eventi. Uno di questi, l'evento ItemCreated, consente di personalizzare il processo di creazione degli elementi in fase di esecuzione. L'evento ItemDataBound fornisce inoltre la possibilità di personalizzare il controllo DataList, ma solo dopo che i dati sono disponibili per la verifica. Quando ad esempio si utilizza il controllo DataList per visualizzare un elenco delle operazioni da eseguire, è possibile contrassegnare in rosso gli elementi di cui è stata superata la scadenza, in nero gli elementi completati e in verde le altre attività. Entrambi gli eventi possono essere utilizzati per eseguire una formattazione diversa da quella definita dal modello.

Gli eventi rimanenti vengono generati in seguito a un clic del mouse all'interno degli elementi dell'elenco. Sono stati progettati per rispondere alle funzionalità del controllo DataList utilizzate più comunemente. Vengono supportati quattro eventi di questo tipo:

Per determinare la generazione di questi eventi, aggiungere controlli Button, LinkButton o ImageButton ai modelli nel controllo DataList, quindi impostare la proprietà CommandName dei pulsanti su una parola chiave, ad esempio edit, delete, update o cancel. Quando un utente fa clic su un pulsante in un elemento, l'evento viene inviato al contenitore del pulsante, ovvero al controllo DataList. L'evento specifico generato dal pulsante dipende dal valore della proprietà CommandName del pulsante su cui è stato fatto clic. Ad esempio, se la proprietà CommandName di un pulsante è impostata su edit, il clic sul pulsante genera un evento EditCommand. Se la proprietà CommandName è impostata su delete, il clic sul pulsante genera un evento DeleteCommand e così via.

Il controllo DataList supporta inoltre l'evento ItemCommand, generato quando un utente fa clic su un pulsante a cui non corrisponde un comando predefinito, quale edit o delete. Questo evento può essere utilizzato per le funzionalità personalizzate impostando la proprietà CommandName di un pulsante sul valore richiesto ed eseguendone la verifica nel gestore eventi di ItemCommand. È possibile, ad esempio, utilizzare questo approccio quando si seleziona un elemento, come descritto in Procedura: consentire agli utenti la selezione di elementi nei controlli server Web DataList.

Per ulteriori informazioni sugli eventi Web Form, vedere Modello di eventi dei controlli server Web ASP.NET.

Modifica e selezione di elementi

È possibile consentire agli utenti di modificare singoli elementi nel controllo. Gli altri controlli dati, quali GridView, DetailsView e FormView, possono interagire con i controlli origine dati per il supporto dello spostamento e degli aggiornamenti automatici. Al contrario, il controllo DataList non può avvalersi automaticamente delle funzionalità di aggiornamento dei controlli origine dati, né dell'ordinamento o dello spostamento automatico. Per eseguire gli aggiornamenti, lo spostamento e l'ordinamento con il controllo DataList, è necessario effettuare le operazioni di aggiornamento nel codice.

La strategia generale prevede la creazione di una proprietà EditItemTemplate che fornisce il layout e i controlli appropriati per la modifica. È inoltre necessario fornire un modo per consentire agli utenti di indicare che desiderano modificare l'elemento. Quello più comune consiste nell'inclusione di un pulsante nel modello degli elementi e, se in uso, nella proprietà AlternatingItemTemplate, quindi nell'impostazione della proprietà CommandName del pulsante su edit. Quando viene fatto clic sul pulsante, il controllo DataList genera automaticamente l'evento EditCommand. Nel codice relativo al gestore eventi si imposta l'elemento in modalità di modifica. Questo consentirà di visualizzare la proprietà EditItemTemplate.

La proprietà EditItemTemplate contiene in genere pulsanti, ad esempio Aggiorna e Annulla, che consentono all'utente di salvare o annullare le modifiche apportate. Questi pulsanti, che operano in modo analogo al pulsante Modifica, inviano un messaggio di comando predefinito, quale update o cancel, al controllo DataList, che genera un evento UpdateCommand o CancelCommand a cui è possibile rispondere in modo appropriato. Per ulteriori informazioni, vedere Procedura: consentire agli utenti la modifica di elementi nei controlli server Web DataList.

L'analogo processo di selezione di un elemento utilizza l'evento SelectedIndexChanged. Si aggiunge un pulsante a ItemTemplate e se ne imposta la relativa proprietà CommandName su select. Si crea quindi un gestore eventi per l'evento SelectedIndexChanged. L'evento SelectedIndexChanged viene generato al clic sul pulsante Seleziona. Per informazioni dettagliate, vedere Procedura: consentire agli utenti la selezione di elementi nei controlli server Web DataList. Per ulteriori informazioni, vedere Procedura: consentire agli utenti la selezione di elementi nei controlli server Web DataList.

Torna all'inizio

Esempi di codice

Procedura: specificare un formato di flusso o di tabella nei controlli server Web DataList

Procedura: specificare il layout orizzontale o verticale nei controlli server Web DataList

Procedura: consentire agli utenti la selezione di elementi nei controlli server Web DataList

Procedura: consentire agli utenti la modifica di elementi nei controlli server Web DataList

Procedura: consentire agli utenti l'eliminazione di elementi nei controlli server Web DataList

Procedura: rispondere a eventi Button in elementi DataList o Repeater

Procedura: personalizzare gli elementi DataList in fase di esecuzione

Procedura: personalizzare elementi in modo dinamico nel controllo server Web DataList

Procedura: creare modelli nei controlli server Web DataList in modo dinamico

Procedura: aggiungere controlli server Web DataList a una pagina Web ASP.NET

Procedura dettagliata: visualizzazione e formattazione di dati con il controllo server Web DataList

Torna all'inizio

Riferimento alle classi

Nella tabella riportata di seguito sono elencate le classi principali correlate al controllo DataList.

Membro

Descrizione

DataList

Classe principale per il controllo.

Torna all'inizio

Vedere anche

Concetti

Cenni preliminari sull'accesso ai dati ASP.NET

Modelli dei controlli server Web ASP.NET

Altre risorse

Controlli della Casella degli strumenti di dati