asp.net DataControlRowState的使用

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 )。

当枚举整个 GridViewRowCollectionDetailsViewRowCollection 集合时,可以使用 DataControlRowState 枚举来分别标识 GridViewRowDetailsViewRow 对象的状态。如果正在编写使用行的数据控件,您可以使用 DataControlRowState 枚举来标识何时为行呈现不同的颜色(Alternate 值),或者用它来标识为编辑行而启用或禁用的控件(EditInsert 值)。

示例:

判断行在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,
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值