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

DataControlFieldCollection

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

Atrybuty

Przykłady

Poniższy przykład kodu przedstawia sposób deklaratywnego dodawania pól 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

Jawnie zadeklarowane pola wierszy można używać w połączeniu z automatycznie wygenerowanymi polami wierszy. Gdy oba te pola są używane, najpierw są renderowane jawnie zadeklarowane pola wierszy, a następnie automatycznie generowane pola wierszy. Automatycznie wygenerowane 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 hiperłącze. 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 DetailsView kontrolki, najpierw ustaw AutoGenerateRows właściwość na false. 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, w jaką pola wiersza są wyświetlane w kolekcji Fields .

Chociaż 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 robią rundy 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ż