DetailsView.Fields Proprietà

Definizione

Ottiene un insieme di oggetti DataControlField che rappresentano i campi riga dichiarati in modo esplicito in un controllo DetailsView.Gets a collection of DataControlField objects that represent the explicitly declared row fields in a DetailsView control.

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; }
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.A DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

Attributi

Esempi

Nell'esempio di codice seguente viene illustrato come aggiungere in modo dichiarativo Fields i campi riga DetailsView alla raccolta di un controllo.The following code example demonstrates how to declaratively add row fields to the Fields collection of a DetailsView control.


<%@ 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 Fields in modo esplicito i DetailsView campi riga per un controllo, questi campi riga vengono archiviati nella proprietà (raccolta).When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). La Fields raccolta consente inoltre di gestire a livello di codice la raccolta di righe dichiarate in modo esplicito.The Fields collection also allows you to programmatically manage the collection of explicitly declared rows.

Nota

I campi riga dichiarati in modo esplicito possono essere utilizzati in combinazione con i campi riga generati automaticamente.Explicitly declared row fields can be used in combination with automatically generated row fields. Quando vengono utilizzati entrambi, viene eseguito prima il rendering dei campi riga dichiarati in modo esplicito, seguiti dai campi riga generati automaticamente.When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields. I Fields campi riga generati automaticamente non vengono aggiunti alla raccolta.Automatically generated row fields are not added to the Fields collection.

Tipi di campi riga diversi determinano il comportamento delle righe nel controllo.Different row field types determine the behavior of the rows in the control. La tabella seguente illustra i diversi tipi di campi di riga che è possibile usare Fields nella raccolta.The following table shows the different row field types that can be used in the Fields collection.

Tipo di campo rigaRow field type DescriptionDescription
BoundField Visualizza il valore di un campo in un'origine dati come testo.Displays the value of a field in a data source as text.
ButtonField Visualizza un pulsante di comando nel DetailsView controllo.Displays a command button in the DetailsView control. In questo modo è possibile visualizzare una riga con un controllo Button personalizzato, ad esempio un pulsante Aggiungi o Rimuovi.This allows you to display a row with a custom button control, such as an Add or a Remove button.
CheckBoxField Consente di visualizzare una casella di DetailsView controllo nel controllo.Displays a check box in the DetailsView control. Questo tipo di campo di riga viene comunemente usato per visualizzare i campi con un valore booleano.This row field type is commonly used to display fields with a Boolean value.
CommandField Visualizza i DetailsView pulsanti di comando predefiniti per eseguire operazioni di modifica, inserimento o eliminazione nel controllo.Displays built-in command buttons to perform edit, insert, or delete operations in the DetailsView control.
HyperLinkField Visualizza il valore di un campo in un'origine dati come collegamento ipertestuale.Displays the value of a field in a data source as a hyperlink. Questo tipo di campo riga consente di associare un secondo campo all'URL del collegamento ipertestuale.This row field type allows you to bind a second field to the hyperlink's URL.
ImageField Consente di visualizzare un'immagine DetailsView nel controllo.Displays an image in the DetailsView control.
TemplateField Visualizza il DetailsView contenuto definito dall'utente per una riga nel controllo in base a un modello specificato.Displays user-defined content for a row in the DetailsView control according to a specified template. Questo tipo di campo riga consente di creare un campo riga personalizzato.This row field type allows you to create a custom row field.

Per dichiarare in modo esplicito i campi riga DetailsView per un controllo, impostare AutoGenerateRows prima di falsetutto la proprietà su.To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. Aggiungere quindi i tag <Fields> DetailsView di apertura e di chiusura tra i tag di apertura e di chiusura del controllo.Next, add opening and closing <Fields> tags between the opening and closing tags of the DetailsView control. Infine, elencare i campi riga che si desidera includere tra i tag di apertura <Fields> e di chiusura.Finally, list the row fields that you want to include between the opening and closing <Fields> tags. I campi riga vengono visualizzati nel DetailsView controllo nell'ordine in cui i campi riga vengono visualizzati Fields nella raccolta.The row fields are displayed in the DetailsView control in the order that the row fields appear in the Fields collection.

Sebbene sia possibile aggiungere a livello di codice i campi Fields riga alla raccolta, è più semplice elencare DetailsView in modo dichiarativo i campi riga nel controllo Visible e quindi utilizzare la proprietà di ogni campo riga per mostrare o nascondere il campo riga.Although you can programmatically add row fields to the Fields collection, it is easier to list the row fields declaratively in the DetailsView control and then use the Visible property of each row field to show or hide the row field.

Se la Visible proprietà di un campo di riga è impostata falsesu, la riga non DetailsView viene visualizzata nel controllo e i dati per la riga non costituiscono un round trip al client.If the Visible property of a row field is set to false, the row is not displayed in the DetailsView control and the data for the row does not make a round trip to the client. Se si desidera che i dati di una riga che non è visibile per creare una round trip, aggiungere il nome del campo DataKeyNames alla proprietà.If you want the data for a row that is not visible to make a round trip, add the field name to the DataKeyNames property.

Si applica a

Vedi anche