DataControlRowState Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- Attributi
Campi
Alternate | 1 | Indica che la riga del controllo dati è alternativa. Lo stato |
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
).