DataControlRowState Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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 |
| 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 ).