DataControlRowState Wyliczenie

Definicja

Określa stan wiersza w kontrolce danych, na przykład DetailsView lub GridView.

To wyliczenie obsługuje bitową kombinację jego wartości składowych.

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
Dziedziczenie
DataControlRowState
Atrybuty

Pola

Alternate 1

Wskazuje, że wiersz kontrolki danych jest alternatywnym wierszem.

Stan Alternate można łączyć z innymi stanami, takimi jak Normal, Editlub Insert, w dowolnym momencie. Te wiersze mogą mieć wpływ na AlternateRowStyle właściwość kontrolki danych, jeśli jest ustawiona.

Edit 4

Wskazuje, że wiersz jest w stanie edycji, często jest wynikiem kliknięcia przycisku edycji dla wiersza. Edit Zazwyczaj stany i Insert wzajemnie się wykluczają.

Insert 8

Wskazuje, że wiersz jest nowym wierszem, często wynikiem kliknięcia przycisku wstawiania w celu dodania nowego wiersza. Insert Zazwyczaj stany i Edit wzajemnie się wykluczają.

Normal 0

Wskazuje, że wiersz kontrolki danych jest w normalnym stanie. Stan Normal wyklucza się wzajemnie z innymi stanami z wyjątkiem Alternate stanu.

Selected 2

Wskazuje, że wiersz został wybrany przez użytkownika.

Przykłady

W poniższym przykładzie pokazano, jak używać DataControlRowState wyliczenia do renderowania interfejsu użytkownika (UI) na podstawie stanu wiersza w kontrolce GridView . Klasa RadioButtonField , która jest kontrolką pola niestandardowego pochodzącą z kontrolki CheckBoxField , renderuje przycisk radiowy powiązany z danymi dla każdego wiersza w kontrolce GridView . Gdy wiersz wyświetla dane użytkownikowi i nie jest w trybie edycji, kontrolka jest wyłączona RadioButton . Gdy użytkownik aktualizuje wiersz w GridView trybie edycji, a wiersz jest w trybie edycji, RadioButton kontrolka jest renderowana jako włączona, aby można ją było kliknąć. W przykładzie użyto operatorów BITOWE AND, ponieważ stan wiersza może być kombinacją co najmniej jednej DataControlRowState wartości. Ten przykład jest częścią większego przykładu udostępnionego DataControlField dla klasy .

// 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

Uwagi

Wyliczenie DataControlRowState identyfikuje stan wiersza w kontrolce danych, takiej jak DetailsView lub GridView. Stan wiersza może być jedną lub kombinacją DataControlRowState wartości, dlatego użyj operacji bitowych, aby określić, czy stan wiersza zawiera DataControlRowState wartość, a nie test równoważności. Wyliczenie DataControlRowState jest używane dla dowolnego typu wiersza, a nie tylko DataRow wierszy (zazwyczaj stan wierszy nagłówka i stopki jest ustawiony na Normalwartość ).

Możesz użyć DataControlRowState wyliczenia, aby zidentyfikować stan GridViewRow obiektu lub DetailsViewRow podczas wyliczania odpowiednio za pomocą GridViewRowCollection kolekcji lub DetailsViewRowCollection . Jeśli piszesz kontrolkę danych, która używa wierszy, możesz użyć DataControlRowState wyliczenia, aby określić, kiedy renderować różne kolory dla wiersza ( Alternate wartości) lub kontrolek, które są włączone lub wyłączone do edycji wiersza ( Edit wartości i Insert ).

Dotyczy

Zobacz też