DetailsView.Fields Właściwość

Definicja

Pobiera kolekcję DataControlField obiektów reprezentujących jawnie zadeklarowane pola wiersza w DetailsView kontrolce.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; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection

Wartość właściwości

DataControlFieldCollection

A DataControlFieldCollection , który zawiera wszystkie jawnie zadeklarowane pola wiersza w DetailsView kontrolce.A DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

Atrybuty

Przykłady

Poniższy przykład kodu demonstruje sposób deklaratywnego dodawania pól wierszy do Fields kolekcji DetailsView kontrolki.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>

Uwagi

Gdy jawnie deklarujesz pola wierszy dla DetailsView kontrolki, te pola wiersza są przechowywane we Fields właściwości (kolekcji).When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). FieldsKolekcja umożliwia również programowe zarządzanie kolekcją jawnie zadeklarowanych wierszy.The Fields collection also allows you to programmatically manage the collection of explicitly declared rows.

Uwaga

Jawnie zadeklarowanych pól wierszy można używać w połączeniu z automatycznie wygenerowanymi polami wierszy.Explicitly declared row fields can be used in combination with automatically generated row fields. Gdy oba są używane, najpierw są renderowane jawnie zadeklarowane pola wiersza, a następnie pola automatycznie generowane wiersze.When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields. Automatycznie generowane pola wierszy nie są dodawane do Fields kolekcji.Automatically generated row fields are not added to the Fields collection.

Różne typy pól wierszy określają zachowanie wierszy w kontrolce.Different row field types determine the behavior of the rows in the control. W poniższej tabeli przedstawiono różne typy pól wierszy, które mogą być używane w Fields kolekcji.The following table shows the different row field types that can be used in the Fields collection.

Typ pola wierszaRow field type OpisDescription
BoundField Wyświetla wartość pola w źródle danych jako tekst.Displays the value of a field in a data source as text.
ButtonField Wyświetla przycisk polecenia w DetailsView kontrolce.Displays a command button in the DetailsView control. Pozwala to wyświetlić wiersz z kontrolką niestandardowego przycisku, np. przyciskiem Dodaj lub Usuń.This allows you to display a row with a custom button control, such as an Add or a Remove button.
CheckBoxField Wyświetla pole wyboru w DetailsView kontrolce.Displays a check box in the DetailsView control. Ten typ pola wiersza jest często używany do wyświetlania pól o wartości logicznej.This row field type is commonly used to display fields with a Boolean value.
CommandField Wyświetla wbudowane przyciski poleceń umożliwiające wykonywanie operacji edycji, wstawiania lub usuwania w DetailsView formancie.Displays built-in command buttons to perform edit, insert, or delete operations in the DetailsView control.
HyperLinkField Wyświetla wartość pola w źródle danych jako hiperlink.Displays the value of a field in a data source as a hyperlink. Ten typ pola wiersza umożliwia powiązanie drugiego pola z adresem URL hiperłącza.This row field type allows you to bind a second field to the hyperlink's URL.
ImageField Wyświetla obraz w DetailsView kontrolce.Displays an image in the DetailsView control.
TemplateField Wyświetla zawartość zdefiniowaną przez użytkownika dla wiersza w DetailsView kontrolce zgodnie z określonym szablonem.Displays user-defined content for a row in the DetailsView control according to a specified template. Ten typ pola wiersza umożliwia utworzenie niestandardowego pola wiersza.This row field type allows you to create a custom row field.

Aby jawnie zadeklarować pola wiersza dla DetailsView kontrolki, najpierw ustaw AutoGenerateRows Właściwość na false .To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. Następnie Dodaj Tagi otwierające i zamykające <Fields> między tagiem otwierającym i zamykającym DetailsView kontrolki.Next, add opening and closing <Fields> tags between the opening and closing tags of the DetailsView control. Na koniec Wyświetl listę pól wierszy, które mają być zawarte między tagiem otwierającym i zamykającym <Fields> .Finally, list the row fields that you want to include between the opening and closing <Fields> tags. Pola wierszy są wyświetlane w DetailsView kontrolce w kolejności, w której pola wiersza pojawiają się w Fields kolekcji.The row fields are displayed in the DetailsView control in the order that the row fields appear in the Fields collection.

Mimo że można programowo dodać pola wierszy do Fields kolekcji, łatwiej jest wystawić listę pól wierszy deklaratywnie w DetailsView kontrolce, a następnie użyć Visible właściwości każdego pola wiersza, aby pokazać lub ukryć pole wiersza.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.

Jeśli Visible Właściwość pola wiersza jest ustawiona na false , wiersz nie jest wyświetlany w DetailsView kontrolce, a dane dla wiersza nie przenoszą do klienta rundy.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. Jeśli chcesz, aby dane dla wiersza, który nie był widoczny w wyniku rundy, Dodaj nazwę pola do DataKeyNames właściwości.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.

Dotyczy

Zobacz też