asp.net DataControlRowState的使用

来源:互联网 发布:拉圈圈软件免费 编辑:程序博客网 时间:2024/06/04 18:13

DataControlRowState 枚举

该枚举在.net framework 2.0中新增加的,是指定数据控件,如DetailView,GridView中行的状态的。具有FlagAttribute属性,因此允许其成员值按位组合。

 

[FlagsAttribute] public enum DataControlRowState

成员

成员名称 说明Alternate指示该数据控件行是交替行。 Alternate 状态在任何时候都可以与其他状态组合,例如与 NormalEditInsert 组合。这些行可能会受到数据控件的 AlternateRowStyle 属性影响(若已设置)。Edit指示该行处于编辑状态,这通常是单击行的“编辑”按钮的结果。通常,EditInsert 状态互相排斥。Insert指示该行是新行,这通常是单击“插入”按钮添加新行的结果。通常,InsertEdit 状态互相排斥。Normal指示该数据控件行处于正常状态。Normal 状态与其他所有状态互相排斥。Selected指示该行已被用户选定。

官方介绍

DataControlRowState 枚举标识数据控件(例如 DetailsViewGridView)中行的状态。行的状态可以是一个 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,    }

 

原创粉丝点击