DetailsView.Fields Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 false
wartość , 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 .