Freigeben über


DetailsView.Fields Eigenschaft

Definition

Ruft eine Auflistung von DataControlField Objekten ab, die die explizit deklarierten Zeilenfelder in einem DetailsView Steuerelement darstellen.

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

Eigenschaftswert

A DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Der Auflistung eines DetailsView Steuerelements Zeilenfelder Fields deklarativ hinzugefügt werden.


<%@ 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>

Hinweise

Wenn Sie die Zeilenfelder für ein DetailsView Steuerelement explizit deklarieren, werden diese Zeilenfelder in der Fields Eigenschaft (Auflistung) gespeichert. Mit der Fields Sammlung können Sie auch die Sammlung explizit deklarierter Zeilen programmgesteuert verwalten.

Hinweis

Explizit deklarierte Zeilenfelder können in Kombination mit automatisch generierten Zeilenfeldern verwendet werden. Wenn beide verwendet werden, werden explizit deklarierte Zeilenfelder zuerst gerendert, gefolgt von den automatisch generierten Zeilenfeldern. Automatisch generierte Zeilenfelder werden der Fields Auflistung nicht hinzugefügt.

Verschiedene Zeilenfeldtypen bestimmen das Verhalten der Zeilen im Steuerelement. In der folgenden Tabelle sind die verschiedenen Zeilenfeldtypen aufgeführt, die in der Fields Auflistung verwendet werden können.

Zeilenfeldtyp Beschreibung
BoundField Zeigt den Wert eines Felds in einer Datenquelle als Text an.
ButtonField Zeigt eine Befehlsschaltfläche im DetailsView Steuerelement an. Auf diese Weise können Sie eine Zeile mit einem benutzerdefinierten Schaltflächensteuerelement anzeigen, z. B. eine Schaltfläche "Hinzufügen" oder "Entfernen".
CheckBoxField Zeigt ein Kontrollkästchen im DetailsView Steuerelement an. Dieser Zeilenfeldtyp wird häufig verwendet, um Felder mit einem booleschen Wert anzuzeigen.
CommandField Zeigt integrierte Befehlsschaltflächen an, um Bearbeitungs-, Einfüge- oder Löschvorgänge im DetailsView Steuerelement auszuführen.
HyperLinkField Zeigt den Wert eines Felds in einer Datenquelle als Hyperlink an. Mit diesem Zeilenfeldtyp können Sie ein zweites Feld an die URL des Hyperlinks binden.
ImageField Zeigt ein Bild im DetailsView Steuerelement an.
TemplateField Zeigt benutzerdefinierten Inhalt für eine Zeile im DetailsView Steuerelement entsprechend einer angegebenen Vorlage an. Mit diesem Zeilenfeldtyp können Sie ein benutzerdefiniertes Zeilenfeld erstellen.

Um die Zeilenfelder für ein DetailsView Steuerelement explizit zu deklarieren, legen Sie zuerst die AutoGenerateRows Eigenschaft auf false. Fügen Sie als Nächstes öffnende und schließende <Fields> Tags zwischen den öffnenden und schließenden Tags des DetailsView Steuerelements hinzu. Listen Sie schließlich die Zeilenfelder auf, die zwischen den öffnenden und schließenden <Fields> Tags eingeschlossen werden sollen. Die Zeilenfelder werden im DetailsView Steuerelement in der Reihenfolge angezeigt, in der die Zeilenfelder in der Fields Auflistung angezeigt werden.

Obwohl Sie zeilenfelder programmgesteuert der Fields Auflistung hinzufügen können, ist es einfacher, die Zeilenfelder deklarativ im DetailsView Steuerelement auflisten und dann die Visible Eigenschaft jedes Zeilenfelds zu verwenden, um das Zeilenfeld ein- oder auszublenden.

Wenn die Visible Eigenschaft eines Zeilenfelds festgelegt falseist, wird die Zeile nicht im DetailsView Steuerelement angezeigt, und die Daten für die Zeile machen keinen Roundtrip zum Client. Wenn die Daten für eine Zeile, die für einen Roundtrip nicht sichtbar ist, angezeigt werden sollen, fügen Sie der Eigenschaft den Feldnamen hinzu DataKeyNames .

Gilt für:

Weitere Informationen