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 свойство.