DetailsView.Fields Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kolekci DataControlField objektů, které představují explicitně deklarovaná pole řádků v ovládacím DetailsView prvku.
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
Hodnota vlastnosti
A DataControlFieldCollection , který obsahuje všechna explicitně deklarovaná pole řádků v ovládacím DetailsView prvku.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak deklarativní přidat řádková pole do Fields kolekce DetailsView ovládacího prvku.
<%@ 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>
Poznámky
Když explicitně deklarujete pole řádků pro DetailsView ovládací prvek, budou tato pole řádků uložena ve Fields vlastnosti (kolekce). Tato Fields kolekce také umožňuje programově spravovat kolekci explicitně deklarovaných řádků.
Poznámka:
Explicitně deklarovaná pole řádků lze použít v kombinaci s automaticky generovanými poli řádků. Při použití obou polí se explicitně deklarovaná pole řádků vykreslí jako první a za nimi automaticky vygenerovaná pole řádků. Automaticky generovaná pole řádků se do Fields kolekce nepřidají.
Různé typy polí řádků určují chování řádků v ovládacím prvku. V následující tabulce jsou uvedeny různé typy polí řádků, které lze použít v kolekci Fields .
| Typ pole řádku | Description |
|---|---|
| BoundField | Zobrazí hodnotu pole ve zdroji dat jako text. |
| ButtonField | Zobrazí příkazové tlačítko v ovládacím DetailsView prvku. Díky tomu můžete zobrazit řádek s vlastním ovládacím tlačítkem, například tlačítkem Přidat nebo Odebrat. |
| CheckBoxField | Zobrazí v ovládacím DetailsView prvku zaškrtávací políčko. Tento typ pole řádku se běžně používá k zobrazení polí s logickou hodnotou. |
| CommandField | Zobrazí integrovaná příkazová tlačítka pro provádění operací úprav, vložení nebo odstranění v ovládacím DetailsView prvku. |
| HyperLinkField | Zobrazí hodnotu pole ve zdroji dat jako hypertextový odkaz. Tento typ pole řádku umožňuje svázat druhé pole s adresou URL hypertextového odkazu. |
| ImageField | Zobrazí obrázek v ovládacím DetailsView prvku. |
| TemplateField | Zobrazí uživatelem definovaný obsah pro řádek v ovládacím DetailsView prvku podle zadané šablony. Tento typ pole řádku umožňuje vytvořit vlastní pole řádku. |
Chcete-li explicitně deklarovat pole řádků pro DetailsView ovládací prvek, nejprve nastavte AutoGenerateRows vlastnost na false. Dále mezi levou a <Fields> pravou značkou ovládacího prvku přidejte značky otevření a zavření DetailsView . Nakonec vypíšete pole řádků, která chcete zahrnout mezi levou a pravou <Fields> značkou. Pole řádků se zobrazí v ovládacím DetailsView prvku v pořadí, v jakém se pole řádků zobrazují v kolekci Fields .
I když do kolekce můžete přidat pole Fields řádků prostřednictvím kódu programu, je jednodušší v ovládacím DetailsView prvku zobrazit nebo skrýt pole řádků deklarativním způsobem a pak pomocí Visible vlastnosti každého pole řádku zobrazit nebo skrýt pole řádku.
Visible Pokud je vlastnost pole řádku nastavena na false, řádek není zobrazen v ovládacím DetailsView prvku a data pro řádek neprovádí zpáteční cestu do klienta. Pokud chcete, aby data pro řádek, který není viditelný, udělala zpáteční cestu, přidejte název pole do DataKeyNames vlastnosti.