DataControlRowState Enumerazione

Definizione

Specifica lo stato di una riga in un controllo dati, ad esempio DetailsView o GridView.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
Ereditarietà
DataControlRowState
Attributi

Campi

Alternate 1

Indica che la riga del controllo dati è alternativa.

Lo stato Alternate può essere combinato con altri stati, come Normal, Edit o Insert, in qualsiasi momento. Queste righe possono essere influenzate dalla proprietà AlternateRowStyle del controllo dati, se impostata.

Edit 4

Indica che la riga si trova in uno stato di modifica, spesso come conseguenza della scelta di un pulsante di modifica per la riga. In genere gli stati Edit e Insert si escludono reciprocamente.

Insert 8

Indica che la riga è nuova, spesso come conseguenza della scelta di un pulsante di inserimento per aggiungere una nuova riga. In genere gli stati Insert e Edit si escludono reciprocamente.

Normal 0

Indica che la riga del controllo dati si trova nello stato normale. La stato Normal e gli altri stati ad eccezione dello stato Alternate si escludono reciprocamente.

Selected 2

Indica che la riga è stata selezionata dall'utente.

Esempio

Nell'esempio seguente viene illustrato come usare l'enumerazione per eseguire il DataControlRowState rendering di un'interfaccia utente in base allo stato di una riga in un GridView controllo . La RadioButtonField classe , che è un controllo campo personalizzato che deriva dal controllo , esegue il CheckBoxField rendering di un pulsante di opzione associato a dati per ogni riga di un GridView controllo . Quando la riga visualizza i dati a un utente e non è in modalità di modifica, il RadioButton controllo è disabilitato. Quando l'utente aggiorna una riga in GridView e la riga è in modalità di modifica, viene eseguito il rendering del RadioButton controllo come abilitato in modo che possa essere selezionato. Nell'esempio vengono utilizzati operatori AND bit per bit, perché lo stato della riga potrebbe essere una combinazione di uno o più DataControlRowState valori. Questo esempio fa parte di un esempio più ampio fornito per la DataControlField classe .

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

Commenti

L'enumerazione DataControlRowState identifica lo stato di una riga in un controllo dati, DetailsView ad esempio o GridView. Lo stato di una riga può essere uno o una combinazione dei DataControlRowState valori, quindi usare operazioni bit per bit per determinare se lo stato della riga include un DataControlRowState valore, anziché un test di equivalenza. L'enumerazione DataControlRowState viene usata per qualsiasi tipo di riga, non solo DataRow per le righe ( in genere lo stato delle righe di intestazione e piè di pagina è impostato su Normal).

È possibile utilizzare l'enumerazione DataControlRowState per identificare rispettivamente lo stato di un GridViewRow oggetto o DetailsViewRow durante l'enumerazione tramite una GridViewRowCollection raccolta o DetailsViewRowCollection . Se si scrive un controllo dati che utilizza righe, è possibile utilizzare l'enumerazione per identificare quando eseguire il DataControlRowState rendering di colori diversi per una riga (il Alternate valore) o i controlli abilitati o disabilitati per la modifica di una riga (i Edit valori e Insert ).

Si applica a

Vedi anche