Udostępnij za pośrednictwem


DetailsView.Fields Właściwość

Definicja

Pobiera kolekcję DataControlField obiektów reprezentujących jawnie zadeklarowane pola wierszy w kontrolce DetailsView .

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

Obiekt DataControlFieldCollection zawierający wszystkie jawnie zadeklarowane pola wierszy w kontrolce DetailsView .

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak deklaratywnie dodawać pola wierszy do Fields kolekcji kontrolki DetailsView .


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

Po jawnym zadeklarowaniu pól wierszy dla DetailsView kontrolki te pola wierszy są przechowywane we Fields właściwości (kolekcji). Kolekcja Fields umożliwia również programowe zarządzanie kolekcją jawnie zadeklarowanych wierszy.

Uwaga / Notatka

Jawnie zadeklarowane pola wierszy można używać w połączeniu z automatycznie generowanymi polami wierszy. Gdy oba te pola są używane, najpierw są renderowane jawnie zadeklarowane pola wierszy, a następnie automatycznie generowane pola wierszy. Automatycznie generowane pola wierszy nie są dodawane do kolekcji Fields .

Różne typy pól wierszy określają zachowanie wierszy w kontrolce. W poniższej tabeli przedstawiono różne typy pól wierszy, których można użyć w kolekcji Fields .

Typ pola wiersza Opis
BoundField Wyświetla wartość pola w źródle danych jako tekst.
ButtonField Wyświetla przycisk polecenia w kontrolce DetailsView . Dzięki temu można wyświetlić wiersz z kontrolką przycisku niestandardowego, taką jak przycisk Dodaj lub Usuń.
CheckBoxField Wyświetla pole wyboru w kontrolce DetailsView . Ten typ pola wiersza jest często używany do wyświetlania pól z wartością logiczną.
CommandField Wyświetla wbudowane przyciski poleceń do wykonywania operacji edycji, wstawiania lub usuwania w kontrolce DetailsView .
HyperLinkField Wyświetla wartość pola w źródle danych jako hiperlink. Ten typ pola wiersza umożliwia powiązanie drugiego pola z adresem URL hiperłącza.
ImageField Wyświetla obraz w kontrolce DetailsView .
TemplateField Wyświetla zawartość zdefiniowaną przez użytkownika dla wiersza w kontrolce DetailsView zgodnie z określonym szablonem. Ten typ pola wiersza umożliwia utworzenie niestandardowego pola wiersza.

Aby jawnie zadeklarować pola wierszy dla kontrolki DetailsView , najpierw ustaw AutoGenerateRows właściwość na falsewartość . Następnie dodaj tagi otwierające i zamykające między tagami otwierania i zamykania <Fields> kontrolki DetailsView . Na koniec wyświetl listę pól wierszy, które chcesz uwzględnić między tagami otwierania i zamykania <Fields> . Pola wierszy są wyświetlane w kontrolce DetailsView w kolejności wyświetlania pól wierszy w kolekcji Fields .

Mimo że można programowo dodawać pola wierszy do Fields kolekcji, łatwiej jest deklaratywnie wyświetlić pola wierszy w DetailsView kontrolce, a następnie użyć Visible właściwości każdego pola wiersza do pokazania lub ukrycia pola wiersza.

Visible Jeśli właściwość pola wiersza jest ustawiona na falsewartość , wiersz nie jest wyświetlany w kontrolceDetailsView, a dane dla wiersza nie powoduje zaokrąglenia do klienta. Jeśli chcesz, aby dane dla wiersza, który nie jest widoczny w celu wykonania rundy, dodaj nazwę pola do DataKeyNames właściwości .

Dotyczy

Zobacz też