Condividi tramite


Informazioni generali sul controllo server Web DetailsView

Aggiornamento: novembre 2007

Il controllo DetailsView consente di visualizzare un record singolo di un'origine dati, in cui ciascuna riga rappresenta un campo nel record. È spesso utilizzato in combinazione con un controllo GridView per scenari Master-Details.

Vengono illustrati i seguenti argomenti:

  • Informazioni di supporto

  • Esempi di codice

  • Riferimento alle classi

Informazioni di supporto

Il controllo DetailsView consente di visualizzare, modificare, inserire o eliminare un singolo record alla volta dall'origine dati associata. Per impostazione predefinita, il controllo DetailsView visualizza ciascun campo di un record sulla riga corrispondente. Il controllo DetailsView è utilizzato in genere per l'aggiornamento e l'inserimento di nuovi record, solitamente in uno scenario master-dettagli in cui la selezione del record del controllo master determina la visualizzazione del record nel controllo DetailsView. Il controllo DetailsView visualizza solamente un singolo record di dati alla volta, anche quando nell'origine dati associata sono esposti più record.

Per le operazioni di aggiornamento, inserimento ed eliminazione dei record, il controllo DetailsView si basa sulle funzionalità del controllo origine dati. Il controllo DetailsView non supporta l'operazione di ordinamento.

Il controllo DetailsView esegue automaticamente lo spostamento tra i dati nell'origine dati associata, purché i dati siano rappresentati da un oggetto che supporta l'interfaccia ICollection o l'origine dati sottostante supporti lo spostamento. Il controllo DetailsView fornisce l'interfaccia utente per lo spostamento attraverso i record di dati. Per attivare lo spostamento, impostare la proprietà AllowPaging su true.

Per selezionare un determinato record dall'origine dati associata, è necessario eseguire lo spostamento nel record stesso. Il record visualizzato dal controllo DetailsView è il record selezionato corrente.

Associazione dati con il controllo DetailsView

Il controllo DetailsView fornisce le seguenti opzioni per l'associazione dati:

  • Associazione dati mediante la proprietà DataSourceID, che consente di associare il controllo DetailsView a un controllo origine dati. Si consiglia di utilizzare questa opzione perché consente al controllo DetailsView di usufruire delle funzionalità del controllo origine dati, nonché di fornire funzionalità incorporate per l'aggiornamento e lo spostamento.

  • Associazione dati mediante la proprietà DataSource, che consente di eseguire l'associazione a diversi oggetti, inclusi i lettori dati e i dataset ADO.NET. Questa opzione richiede la scrittura di codice per eventuali funzionalità aggiuntive, ad esempio l'aggiornamento e lo spostamento.

Quando si esegue l'associazione a un'origine dati utilizzando la proprietà DataSourceID, il controllo DetailsView supporta l'associazione dati bidirezionale. Oltre alla visualizzazione dei dati, il controllo può essere attivato per il supporto automatico delle operazioni di aggiornamento, inserimento ed eliminazione sui dati associati.

Utilizzo dei dati del controllo DetailsView

Il controllo DetailsView esegue l'associazione a un controllo origine dati, che a sua volta gestisce le attività di connessione a un archivio dati e di restituzione dei dati selezionati. L'associazione del controllo DetailsView ai dati è un'operazione semplice, come l'impostazione dichiarativa della proprietà DataSourceID. È inoltre possibile eseguire l'associazione all'origine dati nel codice.

Per attivare la modifica, impostare la proprietà AutoGenerateEditButton su true. Oltre ai campi dei dati, il controllo DetailsView eseguirà il rendering di un pulsante Modifica. L'azione di clic sul pulsante Modifica immetterà il controllo DetailsView in modalità di modifica. In modalità di modifica la proprietà CurrentMode del controllo DetailsView passa da ReadOnly a Edit e ogni campo del controllo esegue il rendering della relativa interfaccia di modifica, ad esempio una casella di testo o di controllo. È inoltre possibile personalizzare l'interfaccia di modifica utilizzando stili, oggetti DataControlField e modelli.

Nota:

Affinché il controllo DetailsView supporti le modifiche, è necessario che l'origine dati associata supporti le operazioni di aggiornamento sui dati.

Il controllo DetailsView può essere configurato per la visualizzazione di un pulsante Elimina e di un pulsante Inserisci, che consentono rispettivamente di eliminare il record di dati corrispondente dall'origine dati o di inserire un nuovo record di dati. Analogamente alla proprietà AutoGenerateEditButton, la proprietà AutoGenerateInsertButton, quando è impostata su true nel controllo DetailsView, esegue il rendering di un pulsante Nuovo. Quando viene fatto clic sul pulsante Nuovo, la proprietà CurrentMode del controllo DetailsView si imposta automaticamente su Insert. Il controllo DetailsView esegue il rendering dei controlli di input dell'interfaccia utente appropriati per ogni campo associato, a meno che la proprietà InsertVisible del campo associato non sia impostata su false.

Personalizzazione dell'interfaccia utente del controllo DetailsView

Il controllo DetailsView supporta una proprietà di insieme Fields contenente oggetti DataControlField di tipo BoundField, CommandField o HyperLinkField. A livello funzionale questo insieme è analogo all'insieme Columns del controllo GridView, tuttavia il controllo DetailsView esegue il rendering di ogni campo in forma di riga, anziché colonna.

Come per il controllo GridView, è possibile personalizzare l'interfaccia del controllo DetailsView utilizzando le proprietà di stile, ad esempio HeaderStyle, RowStyle, AlternatingRowStyle, CommandRowStyle, FooterStyle, PagerStyle e EmptyDataRowStyle.

Il controllo DetailsView offre la possibilità di personalizzare ulteriormente l'interfaccia utente tramite l'uso di modelli, che consentono un maggiore controllo sul rendering di alcuni elementi. È possibile definire proprietà EmptyDataTemplate, HeaderTemplate, FooterTemplate e PagerTemplate per il controllo DetailsView personalizzate, nonché creare un modello per ogni singolo campo aggiungendo un oggetto TemplateField all'insieme Fields.

Il controllo DetailsView espone diversi eventi che possono essere gestiti per eseguire il codice personalizzato. Gli eventi vengono generati prima e dopo le operazioni di inserimento, aggiornamento ed eliminazione del controllo origine dati associato. È inoltre possibile creare gestori per gli eventi ItemCreated e ItemCommand. Per ulteriori informazioni, vedere Eventi generati dal controllo server Web DetailsView.

Nota:

Il modello di eventi del controllo DetailsView è analogo a quello del controllo GridView, tuttavia il controllo DetailsView non supporta l'evento di selezione perché il record corrente corrisponde sempre all'elemento selezionato.

Torna all'inizio

Esempi di codice

Procedura dettagliata: modifica e inserimento di dati nelle pagine Web con il controllo server Web DetailsView

Procedura dettagliata: recupero, aggiornamento, inserimento ed eliminazione di dati con i controlli LinqDataSource e DetailsView

Spostamento tra le pagine in un controllo server Web DetailsView

Modifica dei dati mediante un controllo server Web DetailsView

Creazione di una riga personalizzata in un controllo server Web DetailsView

Torna all'inizio

Riferimento alle classi

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

Membro

Descrizione

DetailsView

Classe principale del controllo.

Torna all'inizio

Vedere anche

Concetti

Eventi generati dal controllo server Web DetailsView

Cenni preliminari sull'accesso ai dati ASP.NET

Modelli dei controlli server Web ASP.NET

Riferimenti

Cenni preliminari sul controllo server Web GridView

Altre risorse

Accesso ai dati tramite ASP.NET