DetailsView.Fields Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en samling DataControlField objekt som representerar de uttryckligen deklarerade radfälten i en DetailsView kontroll.
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
Egenskapsvärde
En DataControlFieldCollection som innehåller alla uttryckligen deklarerade radfält i DetailsView kontrollen.
- Attribut
Exempel
Följande kodexempel visar hur du deklarativt lägger till radfält i Fields en kontrollsamling 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>
Kommentarer
När du uttryckligen deklarerar radfälten för en DetailsView kontroll lagras dessa radfält i Fields egenskapen (samlingen). Med Fields samlingen kan du också programmatiskt hantera samlingen med explicit deklarerade rader.
Note
Explicit deklarerade radfält kan användas i kombination med automatiskt genererade radfält. När båda används återges uttryckligen deklarerade radfält först, följt av de automatiskt genererade radfälten. Automatiskt genererade radfält läggs inte till i Fields samlingen.
Olika radfälttyper avgör hur raderna i kontrollen fungerar. I följande tabell visas de olika radfälttyperna som kan användas i Fields samlingen.
| Radfältstyp | Description |
|---|---|
| BoundField | Visar värdet för ett fält i en datakälla som text. |
| ButtonField | Visar en kommandoknapp i DetailsView kontrollen. På så sätt kan du visa en rad med en anpassad knappkontroll, till exempel knappen Lägg till eller Ta bort. |
| CheckBoxField | Visar en kryssruta i DetailsView kontrollen. Den här radfälttypen används ofta för att visa fält med ett booleskt värde. |
| CommandField | Visar inbyggda kommandoknappar för att utföra åtgärder för att redigera, infoga eller ta bort i DetailsView kontrollen. |
| HyperLinkField | Visar värdet för ett fält i en datakälla som en hyperlänk. Med den här radfälttypen kan du binda ett andra fält till hyperlänkens URL. |
| ImageField | Visar en bild i DetailsView kontrollen. |
| TemplateField | Visar användardefinierat innehåll för en rad i DetailsView kontrollen enligt en angiven mall. Med den här radfälttypen kan du skapa ett anpassat radfält. |
Om du uttryckligen vill deklarera radfälten för en DetailsView kontroll anger du AutoGenerateRows först egenskapen till false. Lägg sedan till inledande och avslutande <Fields> taggar mellan kontrollens inledande och avslutande taggar DetailsView . Slutligen listar du de radfält som du vill inkludera mellan de inledande och avslutande <Fields> taggarna. Radfälten DetailsView visas i kontrollen i den ordning radfälten visas i Fields samlingen.
Även om du programmatiskt kan lägga till radfält i Fields samlingen är det enklare att lista radfälten DetailsView deklarativt i kontrollen och sedan använda Visible egenskapen för varje radfält för att visa eller dölja radfältet.
Visible Om egenskapen för ett radfält är inställd på falsevisas inte raden i DetailsView kontrollen och data för raden gör ingen tur och retur till klienten. Om du vill att data för en rad som inte är synlig ska göra en tur och retur lägger du till fältnamnet i DataKeyNames egenskapen.