Condividi tramite


DetailsView.Fields Proprietà

Definizione

Ottiene una raccolta di DataControlField oggetti che rappresentano i campi di riga dichiarati in modo esplicito in un DetailsView controllo .

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 di riga dichiarati in modo esplicito nel DetailsView controllo .

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come aggiungere in modo dichiarativo campi di riga alla Fields 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à (raccolta). La Fields raccolta consente inoltre di gestire a livello di codice la raccolta di righe dichiarate in modo esplicito.

Annotazioni

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 di riga dichiarati in modo esplicito, seguito dai campi di riga generati automaticamente. I campi di riga generati automaticamente non vengono aggiunti alla Fields raccolta.

Diversi tipi di campo di riga determinano il comportamento delle righe nel controllo . Nella tabella seguente vengono illustrati i diversi tipi di campo di riga che possono essere usati 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 di 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 di 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 tra i tag di apertura e chiusura <Fields> 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 DetailsView controllo nell'ordine in cui i campi della riga vengono visualizzati nell'insieme Fields .

Sebbene sia possibile aggiungere campi di riga all'insieme Fields a livello di codice, è 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 Visible proprietà di un campo di riga è impostata su false, la 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 visibile per effettuare un round trip, aggiungere il nome del campo alla DataKeyNames proprietà .

Si applica a

Vedi anche