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