DataControlRowState 列挙型

定義

DetailsView または GridView など、データ コントロールの行の状態を指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

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

フィールド

Alternate 1

データ コントロール行が代替行であることを示します。

Alternate の状態は、いつでも NormalEditInsert などの他の状態と組み合わせることができます。 データ コントロールの AlternateRowStyle プロパティが設定されている場合、これらの行が影響を受ける可能性があります。

Edit 4

行が編集状態であることを示します。通常、行の編集ボタンをクリックするとこの状態になります。 通常、Edit 状態と Insert 状態はどちらか一方が適用されます。

Insert 8

行が新しい行であることを示します。通常、挿入ボタンをクリックして新しい行を追加するとこの状態になります。 通常、Insert 状態と Edit 状態はどちらか一方が適用されます。

Normal 0

データ コントロール行が通常の状態であることを示します。 Normal 状態と、Alternate 状態を除いたその他の状態が同時に適用されることはありません。

Selected 2

行がユーザーに選択されたことを示します。

次の例では、 列挙を使用 DataControlRowState して、コントロール内の行の状態に基づいてユーザー インターフェイス (UI) をレンダリングする方法を GridView 示します。 このクラスは RadioButtonField 、コントロールから CheckBoxField 派生したユーザー設定フィールド コントロールであり、コントロール内のすべての行に対してデータ バインドラジオ ボタンを GridView レンダリングします。 行がユーザーにデータを表示していて、編集モードでない場合、 RadioButton コントロールは無効になります。 ユーザーが で GridView 行を更新し、その行が編集モードの場合、 RadioButton コントロールは有効としてレンダリングされ、クリックできるようになります。 この例では、行の状態が 1 つ以上 DataControlRowState の値の組み合わせである可能性があるため、ビットごとの AND 演算子を使用します。 この例は、 クラスに対して提供される大きな例の 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、 や GridViewなどのDetailsViewデータ コントロール内の行の状態を識別します。 行の状態は値の DataControlRowState 1 つまたは組み合わせにすることができます。そのため、ビットごとの演算を使用して、行の状態に等価性テストではなく値が含まれている DataControlRowState かどうかを判断します。 列挙は DataControlRowState 、行だけでなく DataRow 任意の種類の行に使用されます (通常、ヘッダー行とフッター行の状態は に Normal設定されます)。

列挙をDataControlRowState使用して、 または コレクションを列挙DetailsViewRowCollectionGridViewRowCollectionするときに、 オブジェクトまたは DetailsViewRow オブジェクトのGridViewRow状態をそれぞれ識別できます。 行を使用するデータ コントロールを記述する場合は、 列挙を DataControlRowState 使用して、行 (値) に対して異なる色をレンダリングするタイミング、または行の Alternate 編集に対して有効または無効になっているコントロール ( Edit および Insert 値) を識別できます。

適用対象

こちらもご覧ください