DataControlRowState 枚举

定义

指定数据控件(例如 DetailsViewGridView)中行的状态。

此枚举支持其成员值的按位组合。

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
继承
DataControlRowState
属性

字段

Alternate 1

指示该数据控件行是交替行。

可随时将 Alternate 状态与其他状态(如 NormalEditInsert)合并。 数据控件的 AlternateRowStyle 属性(若设置)可能会影响这些行。

Edit 4

指示该行处于编辑状态,这通常是单击行的“编辑”按钮的结果。 通常,EditInsert 状态互相排斥。

Insert 8

指示该行是新行,这通常是单击“插入”按钮添加新行的结果。 通常,InsertEdit 状态互相排斥。

Normal 0

指示该数据控件行处于正常状态。 Normal 状态与其他状态相互排斥,但 Alternate 状态除外。

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枚举标识数据控件中行的状态,例如 DetailsViewGridView。 行的状态可以是值的一个或组合 DataControlRowState ,因此请使用按位运算来确定行的状态是否包含 DataControlRowState 值,而不是等效性测试。 枚举 DataControlRowState 用于任何类型的行,而不仅仅是 DataRow 通常 (行,页眉和页脚行的状态设置为 Normal) 。

当分别通过 GridViewRowCollection 或 集合枚举时,可以使用 DataControlRowState 枚举来标识 或 DetailsViewRowCollection 对象的状态GridViewRowDetailsViewRow。 如果要编写使用行的数据控件,则可以使用 DataControlRowState 枚举来标识何时呈现行的不同颜色 (Alternate 值) ,或启用或禁用用于编辑行的控件 (EditInsert 值) 。

适用于

另请参阅