DataControlRowState 枚举
该枚举在.net framework 2.0中新增加的,是指定数据控件,如DetailView,GridView中行的状态的。具有FlagAttribute属性,因此允许其成员值按位组合。
[FlagsAttribute] public enum DataControlRowState
成员
成员名称 | 说明 |
---|---|
Alternate | 指示该数据控件行是交替行。 Alternate 状态在任何时候都可以与其他状态组合,例如与 Normal 、Edit 或 Insert 组合。这些行可能会受到数据控件的 AlternateRowStyle 属性影响(若已设置)。 |
Edit | 指示该行处于编辑状态,这通常是单击行的“编辑”按钮的结果。通常,Edit 和 Insert 状态互相排斥。 |
Insert | 指示该行是新行,这通常是单击“插入”按钮添加新行的结果。通常,Insert 和 Edit 状态互相排斥。 |
Normal | 指示该数据控件行处于正常状态。Normal 状态与其他所有状态互相排斥。 |
Selected | 指示该行已被用户选定。 |
官方介绍
DataControlRowState 枚举标识数据控件(例如 DetailsView 或 GridView )中行的状态。行的状态可以是一个 DataControlRowState 值或值的组合,因此使用按位运算来确定该行的状态是否包括一个 DataControlRowState 值而非一个等效测试。DataControlRowState 枚举用于任何行类型,而不只用于 DataRow 行(通常,标头和脚注行的状态设置为 Normal )。
当枚举整个 GridViewRowCollection 或 DetailsViewRowCollection 集合时,可以使用 DataControlRowState 枚举来分别标识 GridViewRow 或 DetailsViewRow 对象的状态。如果正在编写使用行的数据控件,您可以使用 DataControlRowState 枚举来标识何时为行呈现不同的颜色(Alternate 值),或者用它来标识为编辑行而启用或禁用的控件(Edit 和 Insert 值)。
示例:
判断行在Edit模式
(row.RowState & DataControlRowState.Edit) != 0
而不能使用
row.RowState == DataControlRowState.Edit
判断行在Insert模式
(row.RowState & DataControlRowState.Insert) != 0
而不能使用
row.RowState == DataControlRowState.Insert
因为DataControlRowState的声明是:
[Flags] public enum DataControlRowState { // 摘要: // 指示该数据控件行处于正常状态。System.Web.UI.WebControls.DataControlRowState.Normal 状态与其他状态相互排斥,但 // System.Web.UI.WebControls.DataControlRowState.Alternate 状态除外。 Normal = 0, // // 摘要: // 指示该数据控件行是交替行。 Alternate = 1, // // 摘要: // 指示该行已被用户选定。 Selected = 2, // // 摘要: // 指示该行处于编辑状态,这通常是单击行的“编辑”按钮的结果。通常,System.Web.UI.WebControls.DataControlRowState.Edit // 和 System.Web.UI.WebControls.DataControlRowState.Insert 状态互相排斥。 Edit = 4, // // 摘要: // 指示该行是新行,这通常是单击“插入”按钮添加新行的结果。通常,System.Web.UI.WebControls.DataControlRowState.Insert // 和 System.Web.UI.WebControls.DataControlRowState.Edit 状态互相排斥。 Insert = 8, }