DetailsView.Fields Eigenschap

Definitie

Hiermee haalt u een verzameling DataControlField objecten op die de expliciet gedeclareerde rijvelden in een DetailsView besturingselement vertegenwoordigen.

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

Waarde van eigenschap

Een DataControlFieldCollection met alle expliciet gedeclareerde rijvelden in het DetailsView besturingselement.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u rijvelden declaratief kunt toevoegen aan de Fields verzameling van een DetailsView besturingselement.


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

Opmerkingen

Wanneer u de rijvelden voor een DetailsView besturingselement expliciet declareert, worden deze rijvelden opgeslagen in de Fields eigenschap (verzameling). Met Fields de verzameling kunt u ook programmatisch de verzameling van expliciet gedeclareerde rijen beheren.

Note

Expliciet gedeclareerde rijvelden kunnen worden gebruikt in combinatie met automatisch gegenereerde rijvelden. Wanneer beide worden gebruikt, worden expliciet gedeclareerde rijvelden eerst weergegeven, gevolgd door de automatisch gegenereerde rijvelden. Automatisch gegenereerde rijvelden worden niet toegevoegd aan de Fields verzameling.

Verschillende rijveldtypen bepalen het gedrag van de rijen in het besturingselement. In de volgende tabel ziet u de verschillende rijveldtypen die in de Fields verzameling kunnen worden gebruikt.

Rijveldtype Beschrijving
BoundField Geeft de waarde van een veld in een gegevensbron weer als tekst.
ButtonField Geeft een opdrachtknop weer in het DetailsView besturingselement. Hiermee kunt u een rij weergeven met een aanpasbare knop, zoals de knop Toevoegen of Verwijderen.
CheckBoxField Hiermee wordt een selectievakje in het DetailsView besturingselement weergegeven. Dit rijveldtype wordt vaak gebruikt voor het weergeven van velden met een Booleaanse waarde.
CommandField Geeft ingebouwde opdrachtknoppen weer om bewerkingen uit te voeren, in te voegen of te verwijderen in het DetailsView besturingselement.
HyperLinkField Geeft de waarde van een veld in een gegevensbron weer als hyperlink. Met dit rijveldtype kunt u een tweede veld binden aan de URL van de hyperlink.
ImageField Geeft een afbeelding weer in het DetailsView besturingselement.
TemplateField Geeft door de gebruiker gedefinieerde inhoud weer voor een rij in het DetailsView besturingselement volgens een opgegeven sjabloon. Met dit rijveldtype kunt u een aangepast rijveld maken.

Als u de rijvelden voor een DetailsView besturingselement expliciet wilt declareren, stelt u eerst de AutoGenerateRows eigenschap in op false. Voeg vervolgens openings- en slottags <Fields> toe tussen de openings- en sluitingstags van het DetailsView besturingselement. Geef ten slotte de rijvelden weer die u wilt opnemen tussen de openings- en afsluittags <Fields> . De rijvelden worden weergegeven in het DetailsView besturingselement in de volgorde waarin de rijvelden worden weergegeven in de Fields verzameling.

Hoewel u via programmacode rijvelden aan de Fields verzameling kunt toevoegen, is het eenvoudiger om de rijvelden declaratief weer te geven in het DetailsView besturingselement en vervolgens de Visible eigenschap van elk rijveld te gebruiken om het rijveld weer te geven of te verbergen.

Als de Visible eigenschap van een rijveld is ingesteld op false, wordt de rij niet weergegeven in het DetailsView besturingselement en maken de gegevens voor de rij geen retour naar de client. Als u wilt dat de gegevens voor een rij die niet zichtbaar zijn om een retour te maken, voegt u de veldnaam toe aan de DataKeyNames eigenschap.

Van toepassing op

Zie ook