DetailsViewRow 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 DetailsView 控件中的行。
public ref class DetailsViewRow : System::Web::UI::WebControls::TableRow
public class DetailsViewRow : System.Web.UI.WebControls.TableRow
type DetailsViewRow = class
inherit TableRow
Public Class DetailsViewRow
Inherits TableRow
- 继承
- 派生
示例
下面的代码示例演示如何从 DetailsViewRow 对象检索字段的值。
<%@ 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">
void SubmitButton_Click(Object sender, EventArgs e)
{
// Use the Count property to determine whether the
// Rows collection contains any item.
if (ItemDetailsView.Rows.Count > 0)
{
// Iterate through the Rows collection and display
// the value of each field.
MessageLabel.Text = "The row values are: <br/><br/>";
foreach (DetailsViewRow row in ItemDetailsView.Rows)
{
// Use the Text property to access the value of
// each cell. In this example, the cells in the
// first column (index 0) contains the field names,
// while the cells in the second column (index 1)
// contains the field value.
MessageLabel.Text += row.Cells[0].Text + " = " +
row.Cells[1].Text + "<br/>";
}
}
else
{
MessageLabel.Text = "No items.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewRow Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewRow Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
</fields>
</asp:detailsview>
<br/>
<asp:button id="SubmitButton"
text="Display Row Values"
onclick="SubmitButton_Click"
runat="server"/>
<br/><br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- 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"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</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">
Sub SubmitButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Use the Count property to determine whether the
' Rows collection contains any item.
If ItemDetailsView.Rows.Count > 0 Then
' Iterate through the Rows collection and display
' the value of each field.
MessageLabel.Text = "The row values are: <br/><br/>"
Dim row As DetailsViewRow
For Each row In ItemDetailsView.Rows
' Use the Text property to access the value of
' each cell. In this example, the cells in the
' first column (index 0) contains the field names,
' while the cells in the second column (index 1)
' contains the field value.
MessageLabel.Text &= row.Cells(0).Text & " = " & _
row.Cells(1).Text & "<br/>"
Next
Else
MessageLabel.Text = "No items."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewRow Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewRow Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
</fields>
</asp:detailsview>
<br/>
<asp:button id="SubmitButton"
text="Display Row Values"
onclick="SubmitButton_Click"
runat="server"/>
<br/><br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- 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"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
下面的代码示例演示如何从表示标题行的 DetailsViewRow 对象检索Image控件。 控件 Image 在标头模板中声明。
<%@ 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">
void ItemDetailsView_ItemCreated(Object sender, EventArgs e)
{
// Retrieve the header row.
DetailsViewRow headerRow = ItemDetailsView.HeaderRow;
// Retrieve the Image control from the header row.
Image logoImage = (Image)headerRow.FindControl("LogoImage");
// Display a custom image to indicate whether the
// DetailsView control is in edit or read-only mode.
switch (ItemDetailsView.CurrentMode)
{
case DetailsViewMode.Edit:
logoImage.ImageUrl = "~/Images/Edit.jpg";
break;
case DetailsViewMode.ReadOnly:
logoImage.ImageUrl = "~/Images/ReadOnly.jpg";
break;
default:
logoImage.ImageUrl = "~/Images/Default.jpg";
break;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewRow Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewRow Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
autogenerateeditbutton="true"
datakeynames="CustomerID"
onitemcreated="ItemDetailsView_ItemCreated"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
</fields>
<headertemplate>
<asp:image id="LogoImage"
imageurl="~/Images/Default.jpg"
AlternateText="Our logo"
runat="server"/>
</headertemplate>
</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"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
updatecommand="Update [Customers] Set
[CompanyName]=@CompanyName, [Address]=@Address,
[City]=@City, [PostalCode]=@PostalCode,
[Country]=@Country
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</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">
Sub ItemDetailsView_ItemCreated(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve the header row.
Dim headerRow As DetailsViewRow = ItemDetailsView.HeaderRow
' Retrieve the Image control from the header row.
Dim logoImage As Image = CType(headerRow.FindControl("LogoImage"), Image)
' Display a custom image to indicate whether the
' DetailsView control is in edit or read-only mode.
Select Case ItemDetailsView.CurrentMode
Case DetailsViewMode.Edit
logoImage.ImageUrl = "~/Images/Edit.jpg"
Case DetailsViewMode.ReadOnly
logoImage.ImageUrl = "~/Images/ReadOnly.jpg"
Case Else
logoImage.ImageUrl = "~/Images/Default.jpg"
End Select
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewRow Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewRow Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
autogenerateeditbutton="true"
datakeynames="CustomerID"
onitemcreated="ItemDetailsView_ItemCreated"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
</fields>
<headertemplate>
<asp:image id="LogoImage"
imageurl="~/Images/Default.jpg"
AlternateText="Our logo"
runat="server"/>
</headertemplate>
</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"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
updatecommand="Update [Customers] Set
[CompanyName]=@CompanyName, [Address]=@Address,
[City]=@City, [PostalCode]=@PostalCode,
[Country]=@Country
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
注解
类 DetailsViewRow 用于表示控件中的 DetailsView 单个行。 控件中的 DetailsView 每一行都有一个指定的行类型。 下表列出了对 DetailsView 控件有效的行类型。
行类型 | 说明 |
---|---|
DataRow | 控件中的数据 DetailsView 行。 |
EmptyDataRow | 控件中的 DetailsView 空数据行。 当没有要显示的记录时,空数据行将显示在控件中 DetailsView 。 |
Footer | 控件中的 DetailsView 页脚行。 |
Header | 控件中的 DetailsView 标题行。 |
Pager | 控件中的 DetailsView 寻呼行。 |
若要确定 对象的行类型 DetailsViewRow ,请使用 RowType 属性。 对象 DetailsViewRow 还具有与之关联的状态。 状态可以是下表中值的按位组合。
状态值 | 说明 |
---|---|
Alternate | 对象 DetailsViewRow 是 控件中的 DetailsView 备用行。 |
Edit | 对象 DetailsViewRow 处于编辑模式。 |
Insert | 对象 DetailsViewRow 处于插入模式。 |
Normal | 对象 DetailsViewRow 处于正常 (默认) 状态。 |
若要确定 对象的状态 DetailsViewRow ,请使用 RowState 属性。
控件 DetailsView 将其所有数据行存储在集合中 Rows 。 若要确定集合中Rows对象的索引DetailsViewRow,请使用 RowIndex 属性。
可以使用 属性访问对象的Cells单个单元格DetailsViewRow。 如果单元格包含控件,则可以使用 Controls 单元格的 集合从单元格中检索控件。 如果控件指定了 ID 属性,也可以使用FindControl单元格的 方法来查找控件。
若要从 BoundField 字段列或自动生成的字段列中检索字段值,请使用 Text 单元格的 属性。 若要从其他字段列类型检索字段值,其中字段值绑定到控件,请先从相应的单元格检索控件,然后访问控件的相应属性。
注意
可以直接在字段列中使用数据绑定表达式, TemplateField 而无需将值绑定到控件的属性。 在这种情况下,字段值会自动放置在 控件中 DataBoundLiteralControl 。 若要检索字段值,必须首先从相应的单元格中检索 DataBoundLiteralControl 控件,然后使用其 Text 属性。
有关 DetailsViewRow 类的实例的初始属性值列表,请参见 DetailsViewRow 构造函数。
构造函数
DetailsViewRow(Int32, DataControlRowType, DataControlRowState) |
初始化 DetailsViewRow 类的新实例。 |
属性
AccessKey |
获取或设置使您得以快速导航到 Web 服务器控件的访问键。 (继承自 WebControl) |
Adapter |
获取控件的浏览器特定适配器。 (继承自 Control) |
AppRelativeTemplateSourceDirectory |
获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。 (继承自 Control) |
Attributes |
获取与控件的特性不对应的任意特性(只用于呈现)的集合。 (继承自 WebControl) |
BackColor |
获取或设置 Web 服务器控件的背景色。 (继承自 WebControl) |
BindingContainer |
获取包含该控件的数据绑定的控件。 (继承自 Control) |
BorderColor |
获取或设置 Web 控件的边框颜色。 (继承自 WebControl) |
BorderStyle |
获取或设置 Web 服务器控件的边框样式。 (继承自 WebControl) |
BorderWidth |
获取或设置 Web 服务器控件的边框宽度。 (继承自 WebControl) |
Cells |
获取 TableCell 对象的集合,这些对象表示 Table 控件中的行的单元格。 (继承自 TableRow) |
ChildControlsCreated |
获取一个值,该值指示是否已创建服务器控件的子控件。 (继承自 Control) |
ClientID |
获取由 ASP.NET 生成的 HTML 标记的控件 ID。 (继承自 Control) |
ClientIDMode |
获取或设置用于生成 ClientID 属性值的算法。 (继承自 Control) |
ClientIDSeparator |
获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。 (继承自 Control) |
Context |
为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。 (继承自 Control) |
Controls |
获取 ControlCollection 对象,该对象表示 UI 层次结构中的指定服务器控件的子控件。 (继承自 Control) |
ControlStyle |
获取 Web 服务器控件的样式。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
ControlStyleCreated |
获取一个值,该值指示是否已为 Style 属性创建了 ControlStyle 对象。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
CssClass |
获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。 (继承自 WebControl) |
DataItemContainer |
如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。 (继承自 Control) |
DataKeysContainer |
如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。 (继承自 Control) |
DesignMode |
获取一个值,该值指示是否正在使用设计图面上的一个控件。 (继承自 Control) |
Enabled |
获取或设置一个值,该值指示是否启用 Web 服务器控件。 (继承自 WebControl) |
EnableTheming |
获取或设置一个值,该值指示主题是否应用于该控件。 (继承自 WebControl) |
EnableViewState |
获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。 (继承自 Control) |
Events |
获取控件的事件处理程序委托列表。 此属性为只读。 (继承自 Control) |
Font |
获取与 Web 服务器控件关联的字体属性。 (继承自 WebControl) |
ForeColor |
获取或设置 Web 服务器控件的前景色(通常是文本颜色)。 (继承自 WebControl) |
HasAttributes |
获取一个值,该值指示控件是否具有特性集。 (继承自 WebControl) |
HasChildViewState |
获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。 (继承自 Control) |
Height |
获取或设置 Web 服务器控件的高度。 (继承自 WebControl) |
HorizontalAlign |
获取或设置行内容的水平对齐方式。 (继承自 TableRow) |
ID |
获取或设置分配给服务器控件的编程标识符。 (继承自 Control) |
IdSeparator |
获取用于分隔控件标识符的字符。 (继承自 Control) |
IsChildControlStateCleared |
获取一个值,该值指示该控件中包含的控件是否具有控件状态。 (继承自 Control) |
IsEnabled |
获取一个值,该值指示是否启用控件。 (继承自 WebControl) |
IsTrackingViewState |
获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。 (继承自 Control) |
IsViewStateEnabled |
获取一个值,该值指示是否为该控件启用了视图状态。 (继承自 Control) |
LoadViewStateByID |
获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。 (继承自 Control) |
NamingContainer |
获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。 (继承自 Control) |
Page |
获取对包含服务器控件的 Page 实例的引用。 (继承自 Control) |
Parent |
获取对页 UI 层次结构中服务器控件的父控件的引用。 (继承自 Control) |
RenderingCompatibility |
获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。 (继承自 Control) |
RowIndex |
获取 DetailsViewRow 控件的 Rows 集合中的 DetailsView 对象的索引。 |
RowState |
获取 DetailsViewRow 对象的状态。 |
RowType |
获取 DetailsViewRow 对象的行类型。 |
Site |
获取容器信息,该容器在呈现于设计图面上时承载当前控件。 (继承自 Control) |
SkinID |
获取或设置要应用于控件的外观。 (继承自 WebControl) |
Style |
获取将在 Web 服务器控件的外部标记上呈现为样式特性的文本特性的集合。 (继承自 WebControl) |
SupportsDisabledAttribute |
获取一个值,该值指示在控件的 |
TabIndex |
获取或设置 Web 服务器控件的选项卡索引。 (继承自 WebControl) |
TableSection |
获取或设置 TableRow 控件中 Table 对象的位置。 (继承自 TableRow) |
TagKey |
获取对应于此 Web 服务器控件的 HtmlTextWriterTag 值。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
TagName |
获取控件标记的名称。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
TemplateControl |
获取或设置对包含该控件的模板的引用。 (继承自 Control) |
TemplateSourceDirectory |
获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。 (继承自 Control) |
ToolTip |
获取或设置当鼠标指针悬停在 Web 服务器控件上时显示的文本。 (继承自 WebControl) |
UniqueID |
获取服务器控件的唯一的、以分层形式限定的标识符。 (继承自 Control) |
ValidateRequestMode |
获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。 (继承自 Control) |
VerticalAlign |
获取或设置行内容的垂直对齐方式。 (继承自 TableRow) |
ViewState |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。 (继承自 Control) |
ViewStateIgnoresCase |
获取一个值,该值指示 StateBag 对象是否不区分大小写。 (继承自 Control) |
ViewStateMode |
获取或设置此控件的视图状态模式。 (继承自 Control) |
Visible |
获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 (继承自 Control) |
Width |
获取或设置 Web 服务器控件的宽度。 (继承自 WebControl) |
方法
事件
DataBinding |
当服务器控件绑定到数据源时发生。 (继承自 Control) |
Disposed |
当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。 (继承自 Control) |
Init |
当服务器控件初始化时发生;初始化是控件生存期的第一步。 (继承自 Control) |
Load |
当服务器控件加载到 Page 对象中时发生。 (继承自 Control) |
PreRender |
在加载 Control 对象之后、呈现之前发生。 (继承自 Control) |
Unload |
当服务器控件从内存中卸载时发生。 (继承自 Control) |
显式接口实现
扩展方法
FindDataSourceControl(Control) |
返回与指定控件的数据控件关联的数据源。 |
FindFieldTemplate(Control, String) |
返回指定控件的命名容器中指定列的字段模板。 |
FindMetaTable(Control) |
返回包含数据控件的元表对象。 |