DataControlRowState Перечисление

Определение

Указывает состояние строки в элементе управления данными, например DetailsView или GridView.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
Наследование
DataControlRowState
Атрибуты

Поля

Имя Значение Описание
Normal 0

Указывает, что строка управления данными находится в обычном состоянии. Государство Normal взаимоисключающ с другими государствами, кроме Alternate государства.

Alternate 1

Указывает, что строка элемента управления данными является альтернативной строкой.

Состояние Alternate может сочетаться с другими состояниями, такими как Normal, Editили Insertв любое время. Эти строки могут влиять на AlternateRowStyle свойство элемента управления данными, если задано.

Selected 2

Указывает, что строка была выбрана пользователем.

Edit 4

Указывает, что строка находится в состоянии редактирования, часто результат нажатия кнопки редактирования для строки. Как правило, Edit состояния Insert являются взаимоисключающими.

Insert 8

Указывает, что строка является новой строкой, часто результатом нажатия кнопки вставки для добавления новой строки. Как правило, Insert состояния Edit являются взаимоисключающими.

Примеры

В следующем примере показано, как использовать DataControlRowState перечисление для отрисовки пользовательского интерфейса на основе состояния строки в элементе GridView управления. Класс 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).

Перечисление DataControlRowState можно использовать для идентификации состояния GridViewRow объекта или DetailsViewRow объекта при перечислении через GridViewRowCollection или DetailsViewRowCollection коллекцию соответственно. При написании элемента управления данными, использующего строки, можно использовать DataControlRowState перечисление, чтобы определить, когда отображать разные цвета для строки ( Alternate значения) или элементы управления, которые включены или отключены для редактирования строки ( Edit и Insert значений).

Применяется к

См. также раздел