DetailsView.Fields Свойство

Определение

Возвращает коллекцию объектов DataControlField, представляющих объявленные явным образом поля строки в элементе управления DetailsView.Gets a collection of DataControlField objects that represent the explicitly declared row fields in a DetailsView control.

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

Коллекция DataControlFieldCollection, которая содержит объявленные явным образом поля строк в элементе управления DetailsView.A DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

Атрибуты

Примеры

В следующем примере кода показано, как декларативно добавить поля строк в Fields коллекцию DetailsView элемента управления.The following code example demonstrates how to declaratively add row fields to the Fields collection of a DetailsView control.


<%@ 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 свойстве (коллекции).When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). FieldsКоллекция также позволяет программно управлять коллекцией явно объявленных строк.The Fields collection also allows you to programmatically manage the collection of explicitly declared rows.

Примечание

Явно объявленные поля строк можно использовать в сочетании с автоматически создаваемыми полями строк.Explicitly declared row fields can be used in combination with automatically generated row fields. При использовании обоих типов сначала выводятся явно объявленные поля строк, за которыми следуют автоматически созданные поля строк.When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields. Автоматически созданные поля строк не добавляются в Fields коллекцию.Automatically generated row fields are not added to the Fields collection.

Различные типы полей строк определяют поведение строк в элементе управления.Different row field types determine the behavior of the rows in the control. В следующей таблице показаны различные типы полей строк, которые можно использовать в Fields коллекции.The following table shows the different row field types that can be used in the Fields collection.

Тип поля строкиRow field type Описание:Description
BoundField Отображает значение поля в источнике данных в виде текста.Displays the value of a field in a data source as text.
ButtonField Отображает кнопку команды в DetailsView элементе управления.Displays a command button in the DetailsView control. Это позволяет отобразить строку с пользовательским элементом управления "Кнопка", например "Добавить" или "Удалить".This allows you to display a row with a custom button control, such as an Add or a Remove button.
CheckBoxField Отображает флажок в DetailsView элементе управления.Displays a check box in the DetailsView control. Этот тип поля строки обычно используется для вывода полей с логическим значением.This row field type is commonly used to display fields with a Boolean value.
CommandField Отображает встроенные командные кнопки для выполнения операций изменения, вставки или удаления в DetailsView элементе управления.Displays built-in command buttons to perform edit, insert, or delete operations in the DetailsView control.
HyperLinkField Отображает значение поля в источнике данных в виде гиперссылки.Displays the value of a field in a data source as a hyperlink. Этот тип поля строки позволяет привязать второе поле к URL-адресу гиперссылки.This row field type allows you to bind a second field to the hyperlink's URL.
ImageField Отображает изображение в DetailsView элементе управления.Displays an image in the DetailsView control.
TemplateField Отображает определяемое пользователем содержимое для строки в DetailsView элементе управления в соответствии с заданным шаблоном.Displays user-defined content for a row in the DetailsView control according to a specified template. Этот тип поля строки позволяет создать настраиваемое поле строки.This row field type allows you to create a custom row field.

Чтобы явно объявить поля строк для DetailsView элемента управления, необходимо сначала установить AutoGenerateRows свойство в значение false .To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. Затем добавьте открывающий и закрывающий <Fields> теги между открывающим и закрывающим тегами DetailsView элемента управления.Next, add opening and closing <Fields> tags between the opening and closing tags of the DetailsView control. Наконец, перечислите поля строк, которые необходимо включить между открывающим и закрывающим <Fields> тегами.Finally, list the row fields that you want to include between the opening and closing <Fields> tags. Поля строк отображаются в DetailsView элементе управления в том порядке, в котором поля строки отображаются в Fields коллекции.The row fields are displayed in the DetailsView control in the order that the row fields appear in the Fields collection.

Хотя можно программно добавлять поля строк в Fields коллекцию, проще перечислять поля строк декларативно в DetailsView элементе управления, а затем использовать Visible свойство каждого поля строки для отображения или скрытия поля строки.Although you can programmatically add row fields to the Fields collection, it is easier to list the row fields declaratively in the DetailsView control and then use the Visible property of each row field to show or hide the row field.

Если Visible свойство поля строки имеет значение false , строка не отображается в DetailsView элементе управления, а данные для строки не выполняют круговой путь к клиенту.If the Visible property of a row field is set to false, the row is not displayed in the DetailsView control and the data for the row does not make a round trip to the client. Если требуется, чтобы данные для строки, не видимой для обработки, были циклическими, добавьте имя поля в DataKeyNames свойство.If you want the data for a row that is not visible to make a round trip, add the field name to the DataKeyNames property.

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

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