DetailsView.Fields 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取表示控件中DetailsView显式声明的行字段的对象集合DataControlField。
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
属性值
包含控件中所有显式声明的行字段的 DetailsView ADataControlFieldCollection。
- 属性
示例
下面的代码示例演示如何以声明方式向控件的DetailsView集合添加行字段Fields。
<%@ 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。 接下来,在控件的DetailsView开始标记和结束标记之间添加开始标记和结束<Fields>标记。 最后,列出要在开始标记和结束 <Fields> 标记之间包括的行字段。 行字段以 DetailsView 行字段出现在集合中的顺序显示在控件中 Fields 。
虽然可以通过编程方式将 Fields 行字段添加到集合中,但在控件中 DetailsView 以声明方式列出行字段,然后使用 Visible 每个行字段的属性来显示或隐藏行字段。
Visible如果行字段的属性设置为false,该行不会显示在控件中DetailsView,并且该行的数据不会往返于客户端。 如果希望不可见的行的数据进行往返,请将字段名称添加到 DataKeyNames 该属性。