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

DataControlFieldCollection

Eine DataControlFieldCollection, die alle explizit deklarierten Zeilenfelder im DetailsView-Steuerelement enthält.

Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht, wie Zeilenfelder deklarativ zur Fields Auflistung eines DetailsView Steuerelements 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 Auflistung können Sie auch die Auflistung 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. Die folgende Tabelle zeigt die verschiedenen Zeilenfeldtypen, 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. Dadurch können Sie eine Zeile mit einem benutzerdefinierten Schaltflächensteuerelement anzeigen, z. B. eine Schaltfläche hinzufügen oder eine Schaltfläche 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 Links binden.
ImageField Zeigt ein Bild im DetailsView Steuerelement an.
TemplateField Zeigt benutzerdefinierte Inhalte für eine Zeile im DetailsView Steuerelement gemäß einer angegebenen Vorlage an. Mit diesem Zeilenfeldtyp können Sie ein benutzerdefiniertes Zeilenfeld erstellen.

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

Obwohl Sie der Auflistung zeilenfelder Fields programmgesteuert hinzufügen können, ist es einfacher, die Zeilenfelder deklarativ im DetailsView Steuerelement aufzuführen und dann die Visible Eigenschaft jedes Zeilenfelds zum Ein- oder Ausblenden des Zeilenfelds zu verwenden.

Wenn die Visible Eigenschaft eines Zeilenfelds auf festgelegt falseist, wird die Zeile nicht im DetailsView Steuerelement angezeigt, und die Daten für die Zeile machen keine Roundtrips zum Client. Wenn Sie möchten, dass die Daten für eine Zeile, die nicht sichtbar ist, um einen Roundtrip zu erstellen, fügen Sie den Feldnamen der DataKeyNames Eigenschaft hinzu.

Gilt für

Siehe auch