DetailsView.Fields Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un insieme di oggetti DataControlField che rappresentano i campi riga dichiarati in modo esplicito in un controllo DetailsView.
public:
virtual property System::Web::UI::WebControls::DataControlFieldCollection ^ Fields { System::Web::UI::WebControls::DataControlFieldCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.DataControlFieldCollection Fields { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection
Valore della proprietà
Oggetto DataControlFieldCollection contenente tutti i campi riga dichiarati in modo esplicito nel controllo DetailsView.
- Attributi
Esempio
Nell'esempio Fields di codice seguente viene illustrato come aggiungere in modo dichiarativo i campi di riga alla raccolta di un DetailsView controllo.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView Fields Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView Fields Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
AutoGenerateRows="false"
allowpaging="true"
runat="server">
<Fields>
<asp:BoundField
DataField="CompanyName"
HeaderText="Company Name"/>
<asp:BoundField
DataField="City"
HeaderText="City"/>
</Fields>
</asp:detailsview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:SqlDataSource ID="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country] From
[Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView Fields Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView Fields Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
AutoGenerateRows="false"
allowpaging="true"
runat="server">
<Fields>
<asp:BoundField
DataField="CompanyName"
HeaderText="Company Name"/>
<asp:BoundField
DataField="City"
HeaderText="City"/>
</Fields>
</asp:detailsview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:SqlDataSource ID="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country] From
[Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
Commenti
Quando si dichiarano in modo esplicito i campi di riga per un DetailsView controllo, questi campi di riga vengono archiviati nella Fields proprietà (insieme). La Fields raccolta consente inoltre di gestire a livello di codice la raccolta di righe dichiarate in modo esplicito.
Nota
I campi di riga dichiarati in modo esplicito possono essere usati in combinazione con i campi di riga generati automaticamente. Quando vengono usati entrambi, viene eseguito il rendering dei campi riga dichiarati in modo esplicito, seguiti dai campi di riga generati automaticamente. I campi di riga generati automaticamente non vengono aggiunti alla Fields raccolta.
Diversi tipi di campo riga determinano il comportamento delle righe nel controllo . Nella tabella seguente vengono illustrati i diversi tipi di campo riga che possono essere utilizzati nell'insieme Fields .
Tipo di campo riga | Descrizione |
---|---|
BoundField | Visualizza il valore di un campo in un'origine dati come testo. |
ButtonField | Visualizza un pulsante di comando nel DetailsView controllo . In questo modo è possibile visualizzare una riga con un controllo pulsante personalizzato, ad esempio un pulsante Aggiungi o Rimuovi. |
CheckBoxField | Visualizza una casella di controllo nel DetailsView controllo . Questo tipo di campo riga viene comunemente usato per visualizzare i campi con un valore booleano. |
CommandField | Visualizza i pulsanti di comando predefiniti per eseguire operazioni di modifica, inserimento o eliminazione nel DetailsView controllo . |
HyperLinkField | Visualizza il valore di un campo in un'origine dati come collegamento ipertestuale. Questo tipo di campo riga consente di associare un secondo campo all'URL del collegamento ipertestuale. |
ImageField | Visualizza un'immagine nel DetailsView controllo . |
TemplateField | Visualizza il contenuto definito dall'utente per una riga nel DetailsView controllo in base a un modello specificato. Questo tipo di campo riga consente di creare un campo riga personalizzato. |
Per dichiarare in modo esplicito i campi di riga per un DetailsView controllo, impostare prima la AutoGenerateRows proprietà su false
. Aggiungere quindi tag di apertura e chiusura <Fields>
tra i tag di apertura e chiusura del DetailsView controllo. Infine, elencare i campi di riga da includere tra i tag di apertura e chiusura <Fields>
. I campi di riga vengono visualizzati nel controllo nell'ordine DetailsView in cui vengono visualizzati i campi delle righe nella Fields raccolta.
Anche se è possibile aggiungere campi di riga a livello di codice all'insieme Fields , è più semplice elencare i campi di riga in modo dichiarativo nel DetailsView controllo e quindi utilizzare la Visible proprietà di ogni campo di riga per visualizzare o nascondere il campo della riga.
Se la proprietà di un campo di riga è impostata su false
, la Visible riga non viene visualizzata nel DetailsView controllo e i dati per la riga non effettuano un round trip al client. Se si desidera che i dati di una riga non siano visibili per eseguire un round trip, aggiungere il nome del DataKeyNames campo alla proprietà.