DataControlRowState 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定数据控件(例如 DetailsView 或 GridView)中行的状态。
此枚举支持其成员值的按位组合。
public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState =
Public Enum DataControlRowState
- 继承
- 属性
字段
Alternate | 1 | 指示该数据控件行是交替行。 可随时将 |
Edit | 4 | |
Insert | 8 | |
Normal | 0 | |
Selected | 2 | 指示该行已被用户选定。 |
示例
下面的示例演示如何使用 DataControlRowState
枚举根据 控件中 GridView 行的状态) (UI 呈现用户界面。
RadioButtonField
类是派生自 控件的CheckBoxField自定义字段控件,它为控件中的每一行呈现一个GridView数据绑定单选按钮。 当行向用户显示数据且未处于编辑模式时,将禁用控件 RadioButton 。 当用户更新 中的 GridView 行并且该行处于编辑模式时,控件 RadioButton 呈现为已启用,以便可以单击它。 此示例使用按位 AND 运算符,因为行状态可能是一个或多个 DataControlRowState
值的组合。 此示例是为 类提供的更大示例的一 DataControlField 部分。
// This method adds a RadioButton control and any other
// content to the cell's Controls collection.
protected override void InitializeDataCell
(DataControlFieldCell cell, DataControlRowState rowState) {
RadioButton radio = new RadioButton();
// If the RadioButton is bound to a DataField, add
// the OnDataBindingField method event handler to the
// DataBinding event.
if (DataField.Length != 0) {
radio.DataBinding += new EventHandler(this.OnDataBindField);
}
radio.Text = this.Text;
// Because the RadioButtonField is a BoundField, it only
// displays data. Therefore, unless the row is in edit mode,
// the RadioButton is displayed as disabled.
radio.Enabled = false;
// If the row is in edit mode, enable the button.
if ((rowState & DataControlRowState.Edit) != 0 ||
(rowState & DataControlRowState.Insert) != 0) {
radio.Enabled = true;
}
cell.Controls.Add(radio);
}
' This method adds a RadioButton control and any other
' content to the cell's Controls collection.
Protected Overrides Sub InitializeDataCell( _
ByVal cell As DataControlFieldCell, _
ByVal rowState As DataControlRowState)
Dim radio As New RadioButton()
' If the RadioButton is bound to a DataField, add
' the OnDataBindingField method event handler to the
' DataBinding event.
If DataField.Length <> 0 Then
AddHandler radio.DataBinding, AddressOf Me.OnDataBindField
End If
radio.Text = Me.Text
' Because the RadioButtonField is a BoundField, it only
' displays data. Therefore, unless the row is in edit mode,
' the RadioButton is displayed as disabled.
radio.Enabled = False
' If the row is in edit mode, enable the button.
If (rowState And DataControlRowState.Edit) <> 0 _
OrElse (rowState And DataControlRowState.Insert) <> 0 Then
radio.Enabled = True
End If
cell.Controls.Add(radio)
End Sub
注解
DataControlRowState
枚举标识数据控件中行的状态,例如 DetailsView 或 GridView。 行的状态可以是值的一个或组合 DataControlRowState
,因此请使用按位运算来确定行的状态是否包含 DataControlRowState
值,而不是等效性测试。 枚举 DataControlRowState
用于任何类型的行,而不仅仅是 DataRow 通常 (行,页眉和页脚行的状态设置为 Normal
) 。
当分别通过 GridViewRowCollection 或 集合枚举时,可以使用 DataControlRowState
枚举来标识 或 DetailsViewRowCollection 对象的状态GridViewRowDetailsViewRow。 如果要编写使用行的数据控件,则可以使用 DataControlRowState
枚举来标识何时呈现行的不同颜色 (Alternate
值) ,或启用或禁用用于编辑行的控件 (Edit
和 Insert
值) 。