DataControlRowState Výčet

Definice

Určuje stav řádku v ovládacím prvku dat, například DetailsView nebo GridView.

Tento výčet podporuje bitové kombinace hodnot jeho členů.

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
Dědičnost
DataControlRowState
Atributy

Pole

Alternate 1

Označuje, že řádek ovládacího prvku dat je alternativním řádkem.

Stav Alternate lze kombinovat s jinými stavy, jako Normalje , Editnebo Insert, kdykoli. Tyto řádky mohou být ovlivněny AlternateRowStyle vlastností ovládacího prvku dat, pokud je nastavena.

Edit 4

Označuje, že je řádek ve stavu úprav, často výsledek kliknutí na tlačítko pro úpravy řádku. Edit Insert Obvykle se státy vzájemně vylučují.

Insert 8

Označuje, že řádek je nový řádek, často výsledkem kliknutí na tlačítko vložení a přidání nového řádku. Insert Edit Obvykle se státy vzájemně vylučují.

Normal 0

Označuje, že řádek ovládacího prvku dat je v normálním stavu. Stát Normal se vzájemně vylučují s jinými státy s výjimkou Alternate státu.

Selected 2

Označuje, že uživatel vybral řádek.

Příklady

Následující příklad ukazuje, jak pomocí výčtu DataControlRowState vykreslit uživatelské rozhraní (UI) na základě stavu řádku v ovládacím GridView prvku. Třída RadioButtonField , což je vlastní ovládací prvek pole, který je odvozen z CheckBoxField ovládacího prvku, vykresluje přepínač vázané na data pro každý řádek GridView ovládacího prvku. Když řádek zobrazuje data uživateli a není v režimu úprav, RadioButton ovládací prvek je zakázaný. Když uživatel aktualizuje řádek GridView a řádek je v režimu úprav, ovládací prvek se zobrazí jako povolený, RadioButton aby bylo možné na něj kliknout. V příkladu se používají bitové operátory AND, protože stav řádku může být kombinací jedné nebo více DataControlRowState hodnot. Tento příklad je součástí většího příkladu poskytnutého DataControlField pro třídu.

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

Poznámky

Výčet DataControlRowState identifikuje stav řádku v ovládacím prvku dat, například DetailsView nebo GridView. Stav řádku může být jeden nebo kombinace DataControlRowState hodnot, takže pomocí bitové operace určete, zda stav řádku obsahuje DataControlRowState hodnotu, a nikoli test ekvivalence. Výčet DataControlRowState se používá pro jakýkoli typ řádku, nejen DataRow pro řádky (obvykle je stav řádků záhlaví a zápatí nastavený na Normal).

Pomocí výčtu DataControlRowState můžete identifikovat stav objektu GridViewRow nebo DetailsViewRow objektu při výčtu GridViewRowCollection prostřednictvím kolekce nebo DetailsViewRowCollection kolekce. Pokud píšete ovládací prvek dat, který používá řádky, můžete pomocí DataControlRowState výčtu určit, kdy se mají pro řádek vykreslit různé barvy ( Alternate hodnota) nebo ovládací prvky, které jsou povolené nebo zakázané pro úpravy řádku (hodnoty Edit a Insert hodnoty).

Platí pro

Viz také