Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DataControlRowState, énumération

Remarque : cette énumération est nouvelle dans le .NET Framework version 2.0.

Spécifie l'état d'une ligne dans un contrôle de données, tel que DetailsView ou GridView.

Cette énumération possède un attribut FlagsAttribute qui permet la combinaison d'opérations de bits de ses valeurs membres.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

[FlagsAttribute] 
public enum DataControlRowState
/** @attribute FlagsAttribute() */ 
public enum DataControlRowState
FlagsAttribute 
public enum DataControlRowState
 Nom de membreDescription
AlternateIndique que la ligne de contrôle de données est une ligne en alternance.  

L'état Alternate peut être combiné à tout moment avec d'autres états, tels que Normal, Edit ou Insert. Ces lignes peuvent être affectées par la propriété AlternateRowStyle du contrôle de données, si celui-ci est défini.

EditIndique 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. 
InsertIndique 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. 
NormalIndique que la ligne de contrôle de données est dans un état normal. L'état Normal est mutuellement exclusif avec tous les autres états. 
SelectedIndique que la ligne a été sélectionnée par l'utilisateur. 

L'énumération DataControlRowState identifie l'état d'une ligne dans un contrôle de données tel que DetailsView ou GridView. Comme l'état d'une ligne peut être une valeur unique ou une combinaison des valeurs de DataControlRowState, utilisez les opérations au niveau du bit pour déterminer si l'état de la ligne inclut une valeur DataControlRowState plutôt qu'un test d'équivalence. L'énumération DataControlRowState est utilisée pour tout type de ligne, pas seulement pour les lignes DataRow (en général, l'état des lignes d'en-tête et de pied de page a la valeur Normal).

Vous pouvez utiliser l'énumération DataControlRowState pour identifier l'état d'un objet GridViewRow ou DetailsViewRow lors de l'énumération d'une collection GridViewRowCollection ou DetailsViewRowCollection, respectivement. Si vous écrivez un contrôle de données qui utilise des lignes, vous pouvez utiliser l'énumération DataControlRowState pour identifier quand restituer différentes couleurs pour une ligne (valeur Alternate) ou des contrôles activés ou désactivés pour la modification d'une ligne (valeurs Edit et Insert).

L'exemple de code suivant illustre l'utilisation de l'énumération DataControlRowState pour rendre une interface utilisateur selon l'état d'une ligne dans un contrôle GridView. La classe RadioButtonField, qui est un contrôle de champ personnalisé qui dérive du contrôle CheckBoxField, restitue une case d'option liée aux données pour chaque ligne d'un contrôle GridView. Lorsque la ligne affiche des données à un utilisateur et n'est pas en mode édition, le contrôle RadioButton est désactivé. Lorsque l'utilisateur met à jour une ligne dans GridView et que la ligne est en mode édition, le contrôle RadioButton est restitué comme actif afin que l'utilisateur puisse cliquer dessus. L'exemple utilise des opérateurs de bits AND, car l'état de ligne peut être une combinaison d'une ou plusieurs valeurs DataControlRowState. Cet exemple de code fait partie d'un exemple plus développé fourni pour la classe DataControlField.

// 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 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 (get_DataField().get_Length() != 0) {
        radio.add_DataBinding(new EventHandler(this.OnDataBindField));
    }
    radio.set_Text(this.get_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.set_Enabled(false);
    // If the row is in edit mode, enable the button.
    if (((int)(rowState & DataControlRowState.Edit) != 0) || ((int)(
        rowState & DataControlRowState.Insert) != 0)) {
        radio.set_Enabled(true);
    }
    cell.get_Controls().Add(radio);
} //InitializeDataCell

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.