DataControlRowState Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- Atrybuty
Pola
Alternate | 1 | Wskazuje, że wiersz kontrolki danych jest alternatywnym wierszem. Stan |
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 Normal
wartość ).
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
).