TableCellCollection 类
封装 TableHeaderCell 和 TableCell 对象的集合,这些对象组成了 Table 控件中的一行。无法继承此类。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
备注: 使用此类以编程方式管理在 Table 控件中组成一行的 TableCell 对象集合。此类通常用于在 Table 控件中添加或移除一行中的单元格。
说明:Table 控件包含表示 TableRow 对象集合的 Rows 集合。每个 TableRow 表示表中的单独一行,并包含表示 TableCell 对象集合的 Cells 集合。这些 TableCell 对象表示表中的各个单元格。若要获取单个单元格,应首先从 Table 控件的 Rows 集合获取一个 TableRow。然后可以从 TableRow 的 Cells 集合获取一个 TableCell。
TableHeaderCell 类
表示 Table 控件中的标题单元格。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
TableHeaderCell 类表示 Table 控件中的标题单元格。可以使用 Text 属性指定或确定标题单元格的内容。
备注 此类允许控制标题单元格内容的显示方式。通过设置 HorizontalAlign 和 VerticalAlign 属性来指定标题单元格内容的对齐方式。可以使用 Wrap 属性指定标题单元格的内容是否在单元格内换行。
也可以指定在 Table 控件中一个标题单元格所占的行数或列数。RowSpan 和 ColumnSpan 属性分别控制使用的行数和列数。
TableCell 类
表示 Table 控件中的单元格。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
备注 TableCell 类表示 Table 控件中的单元格。可以使用 Text 属性指定或确定单元格的内容。
使用 TableCell 类可以控制单元格内容的显示方式。通过设置 HorizontalAlign 和 VerticalAlign 属性来指定单元格内容的对齐方式。可以使用 Wrap 属性指定单元格内容是否在单元格内换行。
也可以指定在 Table 控件表示的表中由一个单元格所占的行数和列数。RowSpan 和 ColumnSpan 属性分别控制使用的行数和列数。
关于 DataControlRowType枚举 和 DataControlRowState 枚举
在asp.net 1.1里,我们在使用DataGrid时偶尔会需要获取行的类型,这用到了ListItemType枚举,例如:
2 {
3 if (e.Item.ItemType == ListItemType.Item)
4 e.Item.Cells[0].BackColor = System.Drawing.Color.LightYellow;
5 else if (e.Item.ItemType == ListItemType.AlternatingItem)
6 e.Item.Cells[0].BackColor = System.Drawing.Color.LightSteelBlue;
7 }
然而在asp.net 2.0的GridView控件中,我们可以获取的是行的功能和状态,这就需要了解DataControlRowType 枚举 和 DataControlRowState枚举,特别是后者,它允许其成员值按位组合,所以在作为判断条件时需要特别注意。
DataControlRowType 枚举 指定数据控件中行的功能:
成员名称 | 说明 | |
---|---|---|
DataRow | 数据控件的数据行。只有 DataRow 行能绑定数据。 | |
EmptyDataRow | 显示页按钮或页导航控件的行。页导航行不能绑定数据。 | |
Footer | 数据控件的脚注行。脚注行不能绑定数据。 | |
Header | 数据控件的标题行。标题行不能绑定数据。 | |
Pager | 显示页按钮或页导航控件的行。页导航行不能绑定数据。 | |
Separator | 行分隔符。行分隔符不能绑定数据。 |
应用:
2 {
3 if (e.Row.RowType == DataControlRowType.DataRow)
4
7 }
DataControlRowState枚举 指定数据控件中行的状态:
成员名称 | 说明 | |
---|---|---|
Alternate | 指示该数据控件行是交替行。 Alternate 状态在任何时候都可以与其他状态组合,例如与 Normal、Edit 或 Insert 组合。这些行可能会受到数据控件的 AlternateRowStyle 属性影响(若已设置)。 | |
Edit | 指示该行处于编辑状态,这通常是单击行的“编辑”按钮的结果。通常,Edit 和 Insert 状态互相排斥。 | |
Insert | 指示该行是新行,这通常是单击“插入”按钮添加新行的结果。通常,Insert 和 Edit 状态互相排斥。 | |
Normal | 指示该数据控件行处于正常状态。Normal 状态与其他所有状态互相排斥。 | |
Selected | 指示该行已被用户选定。 |
此枚举有一个 FlagsAttribute 属性,允许其成员值按位组合。在GridView或DetailsView 中,行的状态可以是一个 DataControlRowState 值或值的组合,因此使用按位运算来确定该行的状态是否包括一个 DataControlRowState 值而非一个等效测试。
2 {
3 /*如果使用if (e.Row.RowState == DataControlRowState.Edit)作为判断条件,那么如果当前行恰好是交替行时,条件不成立-即便当前行确实也处于编辑状态*/
4 if ((e.Row.RowState & DataControlRowState.Edit) != 0)
5 {
6 e.Row.Cells[0].BackColor = System.Drawing.Color.Red;
7 }
8 }
GridViewRowEventArgs 类
提供有关 RowCreated 和 RowDataBound 事件的数据。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
备注 呈现 GridView 控件之前,必须先为该控件中的每一行创建一个 GridViewRow 对象。当创建 GridView 控件中的每个行时,均会引发 RowCreated 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时都执行一个自定义例程(如在行中添加自定义内容)。
同样,必须先将控件中的每个行都绑定到数据源中的一个记录,才能呈现 GridView 控件。将某个数据行(用 GridViewRow 对象表示)绑定到 GridView 控件中的数据以后,将引发 RowDataBound 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时都执行一个自定义例程(如修改绑定到该行的数据的值)。
将 GridViewRowEventArgs 对象传递到事件处理方法,以便您可以访问引发事件的行的属性。若要访问行中的特定单元格,请使用包含在 Row 属性中的 GridViewRow 对象的 Cells 属性。您也可以通过使用 GridViewRow 对象的 RowType 属性,确定要创建哪种行类型(标头行、数据行等)。