DataControlRowState Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie l'état d'une ligne dans un contrôle de données, tel que DetailsView ou GridView.
Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.
public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState =
Public Enum DataControlRowState
- Héritage
- Attributs
Champs
Alternate | 1 | Indique que la ligne de contrôle de données est une ligne en alternance. L’état |
Edit | 4 | Indique que la ligne est dans un état de modification, qui correspond souvent au résultat d'un clic sur un bouton de modification de la ligne. En général, les états Edit et Insert s'excluent mutuellement. |
Insert | 8 | Indique que la ligne est une nouvelle ligne, ce qui correspond souvent au résultat d'un clic sur un bouton d'insertion pour ajouter une ligne. En général, les états Insert et Edit s'excluent mutuellement. |
Normal | 0 | Indique que la ligne de contrôle de données est dans un état normal. L'état Normal est mutuellement exclusif par rapport aux autres états, à l'exception de l'état Alternate. |
Selected | 2 | Indique que la ligne a été sélectionnée par l'utilisateur. |
Exemples
L’exemple suivant montre comment utiliser l’énumération DataControlRowState
pour afficher une interface utilisateur (UI) en fonction de l’état d’une ligne dans un GridView contrôle. La RadioButtonField
classe, qui est un contrôle de champ personnalisé qui dérive du CheckBoxField contrôle, affiche une case d’option liée aux données pour chaque ligne d’un GridView contrôle. Lorsque la ligne affiche des données à un utilisateur et n’est pas en mode édition, le RadioButton contrôle est désactivé. Lorsque l’utilisateur met à jour une ligne et GridView que la ligne est en mode édition, le RadioButton contrôle est affiché comme activé afin qu’il puisse être cliqué. L’exemple utilise des opérateurs AND au niveau du bit, car l’état de ligne peut être une combinaison d’une ou plusieurs DataControlRowState
valeurs. Cet exemple fait partie d’un exemple plus grand fourni pour 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
Remarques
L’énumération DataControlRowState
identifie l’état d’une ligne dans un contrôle de données tel que DetailsView ou GridView. L’état d’une ligne peut être une ou une combinaison des DataControlRowState
valeurs. Utilisez donc des opérations au niveau du bit pour déterminer si l’état de la ligne inclut une DataControlRowState
valeur, plutôt qu’un test d’équivalence. L’énumération DataControlRowState
est utilisée pour n’importe quel type de ligne, pas seulement DataRow les lignes (généralement, l’état des lignes d’en-tête et de pied de page est défini sur Normal
).
Vous pouvez utiliser l’énumération DataControlRowState
pour identifier l’état d’un ou DetailsViewRow d’un GridViewRow objet lors de l’énumération par le biais d’une ou DetailsViewRowCollection d’une GridViewRowCollection collection, respectivement. Si vous écrivez un contrôle de données qui utilise des lignes, vous pouvez utiliser l’énumération DataControlRowState
pour identifier quand afficher différentes couleurs pour une ligne (la Alternate
valeur), ou les contrôles activés ou désactivés pour modifier une ligne (les valeurs et Insert
les Edit
valeurs).