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à

DataControlFieldCollection

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

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come aggiungere in modo dichiarativo i campi riga alla raccolta Fields di un controllo DetailsView.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 in modo esplicito i campi riga per un controllo DetailsView, questi campi riga vengono archiviati nella proprietà Fields (raccolta).When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). La raccolta di Fields 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 campi riga generati automaticamente non vengono aggiunti alla raccolta Fields.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 possono essere usati nella raccolta di Fields.The following table shows the different row field types that can be used in the Fields collection.

Tipo di campo rigaRow field type DescrizioneDescription
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 Consente di visualizzare un pulsante di comando nel controllo DetailsView.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 controllo nel controllo DetailsView.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 pulsanti di comando predefiniti per eseguire operazioni di modifica, inserimento o eliminazione nel controllo DetailsView.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 nel controllo DetailsView.Displays an image in the DetailsView control.
TemplateField Visualizza il contenuto definito dall'utente per una riga nel controllo DetailsView 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 per un controllo DetailsView, impostare prima di tutto la proprietà AutoGenerateRows su false.To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. Successivamente, aggiungere i tag di apertura e chiusura <Fields> tra i tag di apertura e di chiusura del controllo DetailsView.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 <Fields> di apertura 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 controllo DetailsView nell'ordine in cui i campi riga vengono visualizzati nella raccolta di Fields.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 campi riga a livello di codice alla raccolta di Fields, è più semplice elencare in modo dichiarativo i campi riga nel controllo DetailsView e quindi utilizzare la proprietà Visible 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 proprietà Visible di un campo di riga è impostata su false, la riga non viene visualizzata nel controllo DetailsView e i dati per la riga non costituiscono un round trip per il 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 alla proprietà DataKeyNames.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