Sdílet prostřednictvím


DetailsView.Fields Vlastnost

Definice

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.

Platí pro

Viz také