DetailsView.Fields Proprietà

Definizione

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à

DataControlFieldCollection

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à.

Si applica a

Vedi anche