DetailsView.Fields Свойство

Определение

Возвращает коллекцию объектов DataControlField, представляющих объявленные явным образом поля строки в элементе управления 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

Значение свойства

Коллекция DataControlFieldCollection, которая содержит объявленные явным образом поля строк в элементе управления DetailsView.

Атрибуты

Примеры

В следующем примере кода показано, как декларативно добавлять поля строк в Fields коллекцию 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>

Комментарии

При явном объявлении полей строк для DetailsView элемента управления эти поля строк хранятся в свойстве Fields (коллекции). Коллекция Fields также позволяет программно управлять коллекцией явно объявленных строк.

Примечание

Явно объявленные поля строк можно использовать в сочетании с автоматически созданными полями строк. При использовании обоих полей сначала отрисовываются явно объявленные поля строк, за которыми следуют автоматически созданные поля строк. Автоматически созданные поля строк не добавляются в коллекцию Fields .

Различные типы полей строк определяют поведение строк в элементе управления . В следующей таблице показаны различные типы полей строк, которые можно использовать в Fields коллекции.

Тип поля строки Описание
BoundField Отображает значение поля в источнике данных в виде текста.
ButtonField Отображает кнопку команды в элементе DetailsView управления . Это позволяет отобразить строку с пользовательским элементом управления "Кнопка", например "Добавить" или "Удалить".
CheckBoxField Отображает флажок в элементе DetailsView управления . Этот тип поля строки обычно используется для отображения полей с логическим значением.
CommandField Отображает встроенные кнопки команд для выполнения операций редактирования, вставки или удаления в элементе DetailsView управления .
HyperLinkField Отображает значение поля в источнике данных в виде гиперссылки. Этот тип поля строки позволяет привязать второе поле к URL-адресу гиперссылки.
ImageField Отображает изображение в элементе DetailsView управления .
TemplateField Отображает пользовательское содержимое для строки в элементе управления в DetailsView соответствии с указанным шаблоном. Этот тип поля строки позволяет создать настраиваемое поле строки.

Чтобы явно объявить поля строк для DetailsView элемента управления, сначала присвойте свойству AutoGenerateRows значение false. Затем добавьте открывающий и закрывающий <Fields> теги между открывающим и закрывающим тегами DetailsView элемента управления. Наконец, выведите список полей строк, которые необходимо включить между открывающим и закрывающим <Fields> тегами. Поля строк отображаются в элементе DetailsView управления в том порядке, в котором поля строк отображаются в Fields коллекции.

Хотя вы можете программно добавить поля строк в Fields коллекцию, проще декларативно перечислить поля строк в DetailsView элементе управления , а затем использовать Visible свойство каждого поля строки для отображения или скрытия поля строки.

Если свойству Visible поля строки присвоено значение false, строка не отображается в элементе DetailsView управления и данные для строки не переходят к клиенту. Если вы хотите, чтобы данные для строки, которая не видна, сделали круговой путь, добавьте имя поля в DataKeyNames свойство .

Применяется к

См. также раздел