DataControlRowState Enum

Definition

Anger tillståndet för en rad i en datakontroll, till exempel DetailsView eller GridView.

Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
Arv
DataControlRowState
Attribut

Fält

Name Värde Description
Normal 0

Anger att datakontrollraden är i ett normalt tillstånd. Staten Normal är ömsesidigt uteslutande med andra stater utom staten Alternate .

Alternate 1

Anger att datakontrollraden är en alternativ rad.

Tillståndet Alternate kan kombineras med andra tillstånd, till exempel , Editeller Insert, när som Normalhelst. Dessa rader kan påverkas av AlternateRowStyle datakontrollens egenskap, om de anges.

Selected 2

Anger att raden har valts av användaren.

Edit 4

Anger att raden är i ett redigeringstillstånd, ofta resultatet av att klicka på en redigeringsknapp för raden. Vanligtvis är tillstånden Edit och Insert ömsesidigt uteslutande.

Insert 8

Anger att raden är en ny rad, ofta resultatet av att klicka på en infoga-knapp för att lägga till en ny rad. Vanligtvis är tillstånden Insert och Edit ömsesidigt uteslutande.

Exempel

I följande exempel visas hur du använder DataControlRowState uppräkningen för att återge ett användargränssnitt (UI) baserat på tillståndet för en rad i en GridView kontroll. Klassen RadioButtonField , som är en anpassad fältkontroll som härleds från CheckBoxField kontrollen, renderar en databunden alternativknapp för varje rad i en GridView kontroll. När raden visar data för en användare och inte är i redigeringsläge RadioButton inaktiveras kontrollen. När användaren uppdaterar en rad i GridView och raden är i redigeringsläge RadioButton återges kontrollen som aktiverad så att den kan klickas. I exemplet används bitvis OCH-operatorer, eftersom radtillståndet kan vara en kombination av ett eller flera DataControlRowState värden. Det här exemplet är en del av ett större exempel som tillhandahålls DataControlField för klassen.

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

Kommentarer

Uppräkningen DataControlRowState identifierar tillståndet för en rad i en datakontroll, till exempel DetailsView eller GridView. En rads tillstånd kan vara en eller en kombination av DataControlRowState värdena, så använd bitvis åtgärder för att avgöra om radens tillstånd innehåller ett DataControlRowState värde i stället för ett ekvivalenstest. Uppräkningen DataControlRowState används för alla typer av rader, inte bara DataRow rader (vanligtvis är tillståndet för sidhuvud- och sidfotsrader inställt på Normal).

Du kan använda DataControlRowState uppräkningen för att identifiera tillståndet för ett objekt eller DetailsViewRow ett GridViewRow objekt när du räknar upp genom en GridViewRowCollection eller DetailsViewRowCollection en samling. Om du skriver en datakontroll som använder rader kan du använda DataControlRowState uppräkningen för att identifiera när du ska återge olika färger för en rad ( Alternate värdet) eller kontroller som är aktiverade eller inaktiverade för att redigera en rad ( Edit värdena och Insert ).

Gäller för

Se även