Comment : ajouter des colonnes à un DataTable

Les colonnes individuelles (DataColumn) qui composent des tables de données (DataTable) sont créées en les ajoutant aux tables de données DataColumnCollection. Vous pouvez ajouter visuellement des colonnes aux tables de données à l'aide du Concepteur de DataSet ou de l'un des Assistants de données. Pour plus d'informations sur la programmation de l'ajout de colonnes de données aux tables de données, consultez Ajout de colonnes à un DataTable.

Après avoir ajouté les colonnes, il est possible de les configurer pour répondre à vos besoins. Par exemple, il est possible de spécifier une valeur par défaut, ou une contrainte d'unicité pour une colonne. Il est également également possible de spécifier qu'une colonne doit afficher une valeur calculée, plutôt qu'une valeur lue directement de la base de données.

Notes

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée.Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils.Pour plus d'informations, consultez Paramètres Visual Studio.

Tâches courantes

Tâche

Contenu de support

Ajouter des colonnes aux tables : il est possible d'ajouter des colonnes à l'aide du Concepteur de DataSet, de l'Assistant Configuration de source de données, ou l'Assistant Configuration TableAdapter.

Les colonnesConfigurer DataColumns : sont ajoutées avec les propriétés par défaut. Il est possible de personnaliser les paramètres pour chaque DataColumn afin de spécifier son comportement. Par exemple, il est possible de spécifier le type de données, une valeur par défaut, ou imposer à une colonne de contenir des valeurs uniques. En outre, il est possible de configurer une colonne de données pour qu'elle affiche une valeur calculée plutôt qu'une valeur qui est lue directement à partir de la base de données.

Ajout de colonnes à la table de données

Avant de configurer une DataColumn, vous devez l'ajouter à une table de données. Il est possible de le faire en utilisant l'une des procédures suivantes.

Pour ajouter une colonne à un DataTable avec le Concepteur de DataSet

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet. Pour plus d'informations, consultez Comment : ouvrir un groupe de données dans le Concepteur de DataSet.

  2. Cliquez avec le bouton droit sur le DataTable pour ajouter la colonne. Pointez sur Ajouter, puis cliquez sur Colonne.

  3. Le cas échéant, remplacez le nom de colonne par défaut en sélectionnant le nom de la colonne dans la table de données et modifiant le texte.

  4. Définissez la propriété DataType dans la fenêtre Propriétés.

Pour ajouter une colonne à un DataTable avec l'Assistant Configuration de source de données

  1. Dans la fenêtre Sources de données, cliquez avec le bouton droit sur la source de données, puis cliquez sur Configurer le DataSet à l'aide de l'Assistant.

  2. Développez la table à laquelle vous souhaitez ajouter une colonne.

  3. Sélectionnez les colonnes à ajouter à la table.

  4. Cliquez sur Terminer.

Pour ajouter une colonne à un DataTable avec l'Assistant Configuration de TableAdapter

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet. Pour plus d'informations, consultez Comment : ouvrir un groupe de données dans le Concepteur de DataSet.

  2. Cliquez avec le bouton droit sur la table de données, puis cliquez sur Configurer.

  3. Ajoutez la colonne à l'instruction SELECT.

  4. Cliquez sur Terminer.

Configuration des DataColumns

Après avoir ajouté une DataColumn, vous spécifiez son comportement. Par exemple, il est possible de modifier le type de données ou le restreindre pour contenir des valeurs uniques. Il est possible d'utiliser les procédures suivantes pour modifier le comportement des DataColumn.

Pour définir le type de données d'une DataColumn

Les colonnes de données (DataColumn) sont créées avec un type de données par défaut de String. Pour modifier le type de données d'une colonne, définissez la propriété DataType dans la fenêtre Propriétés.

Pour définir le type de données d'un DataColumn

  1. Ouvrez un groupe de données dans le Concepteur de DataSet.

  2. Sélectionnez la colonne pour laquelle vous souhaitez définir le type de données.

  3. Sélectionnez le type de données souhaité dans la liste DataType de la fenêtre Propriétés.

Spécification de la légende d'une DataColumn

Les colonnes de données possèdent souvent des noms qui ne sont pas adaptés à l'affichage dans une interface utilisateur. Vous pouvez remplacer la légende par un nom plus adapté en définissant la propriété Caption dans la fenêtre Propriétés.

Notes

Une considération spéciale entre en jeu lorsque vous faites glisser des éléments depuis la fenêtre Sources de données jusqu'à un formulaire dans une application Windows : les noms de colonnes dans les légendes sont reformatés dans une chaîne plus lisible lorsque plusieurs mots sont recherchés pour être concaténés ensemble.Pour plus d'informations, consultez Comment : personnaliser la façon dont Visual Studio crée des légendes pour les contrôles liés aux données.

Pour modifier la légende d'une colonne de données

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet. Pour plus d'informations, consultez Comment : ouvrir un groupe de données dans le Concepteur de DataSet.

  2. Sélectionnez la colonne dont vous souhaitez modifier la légende.

  3. Dans la fenêtre Propriétés, sélectionnez la propriété Caption.

Spécifier qu'une DataColumn contient des numéros générés automatiquement

Les colonnes de données (DataColumn) contiennent souvent des numéros séquentiels générés automatiquement ; par exemple, des clés primaires et des colonnes d'ID. Vous pouvez charger des numéros générés automatiquement dans des colonnes de données en définissant les propriétés AutoIncrement, AutoIncrementSeed et AutoIncrementStep de la colonne de données.

Lorsque des colonnes de données sont créées au moyen d'outils de conception Visual Studio, les colonnes sont automatiquement marquées comme AutoIncrement. Lorsque vous mettez à jour une table dans la base de données qui contient une colonne d'identité, les valeurs créées avec la fonctionnalité de numérotation automatique ne sont pas envoyées à la base de données.

Pour définir une colonne de données afin qu'elle contienne des numéros générés automatiquement

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet.

  2. Sélectionnez la colonne que vous souhaitez remplir avec les numéros générés automatiquement.

  3. Dans la fenêtre Propriétés, définissez les propriétés suivantes :

    Propriété

    Paramètre

    AutoIncrement

    true

    AutoIncrementSeed

    Si vous souhaitez commencer à un nombre différent de la valeur par défaut de 0, sélectionnez comme valeur le premier nombre de cette colonne.

    AutoIncrementStep

    Dans chaque nouvelle ligne, la valeur de la colonne est incrémentée de cette valeur.

    Notes

    La définition d'une colonne de données pour l'incrémentation automatique ne désigne pas automatiquement la colonne comme une clé primaire.

Pour assigner une valeur par défaut à une DataColumn

Des valeurs par défaut peuvent être assignées aux colonnes de données. La valeur par défaut est assignée dans la colonne lors de la création de nouvelles lignes (enregistrements).

Pour assigner une valeur par défaut à une colonne de données

  1. Ouvrez un groupe de données dans le Concepteur de DataSet.

  2. Sélectionnez la colonne à laquelle vous souhaitez assigner une valeur par défaut.

  3. Dans la fenêtre Propriétés, modifiez la propriété DefaultValue en indiquant la valeur par défaut souhaitée.

Pour contraindre une DataColumn à contenir des valeurs uniques

Pour configurer un DataColumn afin qu'il contienne des valeurs uniques, ajoutez une contrainte unique à une table de données. Les contraintes uniques sont également appelées clés. Le marquage d'une colonne comme Clé primaire dans le Concepteur de DataSet entraîne la création d'une contrainte unique.

Pour contraindre une colonne à contenir des valeurs uniques

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet.

  2. Cliquez avec le bouton droit sur la colonne que vous souhaitez contraindre à contenir des valeurs uniques. Pointez sur Ajouter, puis cliquez sur Clé.

  3. Vérifiez que la colonne correcte est sélectionnée dans la boîte de dialogue Contrainte unique.

  4. Remplacez le nom par défaut de la contrainte par un nom plus explicite, le cas échéant.

Pour définir une DataColumn comme clé primaire dans une table de données

Définir une colonne de données comme clé primaire garantit que chaque enregistrement contient une valeur unique. Vous ne pouvez assigner qu'une clé primaire à une table de données. Pour créer une clé primaire dans une table de données, utilisez le Concepteur de DataSet.

Pour définir une colonne de données comme clé primaire dans une table de données

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet.

  2. Cliquez avec le bouton droit sur la colonne que vous souhaitez définir comme clé primaire. Cliquez sur Définir la clé primaire.

    Une icône en forme de clé apparaît en regard des colonnes sélectionnées.

Pour définir la valeur à retourner lorsque la valeur d'une DataColumn est null

Dans un groupe de données typé, vous pouvez contrôler la représentation des colonnes contenant des valeurs null. Ce comportement n'est disponible que lors de l'extraction de valeurs de colonnes par l'intermédiaire de leurs accesseurs typés. Si vous extrayez la valeur par l'intermédiaire de l'index de ligne ou de colonne de la table, vous ne pouvez pas définir la valeur de retour. Cela est dû au fait que la logique permettant de renvoyer cette valeur est générée dans l'accesseur SET de propriété de la colonne de données spécifique dans la classe DataSet générée.

Pour définir la valeur à retourner lorsqu'une valeur DataColumn est null

  1. Ouvrez le groupe de données dans le Concepteur de DataSet.

  2. Sélectionnez une colonne dans une table de données.

  3. Dans la fenêtre Propriétés, sélectionnez la propriété NullValue.

  4. Effectuez l’une des opérations suivantes :

    • Dans la liste déroulante, sélectionnez la valeur appropriée :

      Valeur

      Description

      (Empty)

      Retourne un String.Empty aux valeurs Null.

      (Nothing)

      Retourne des valeurs Null en tant que DBNull.

      (Throw exception)

      Les valeurs Null lèvent Exception.

      ou

    • Affectez à cette propriété toute valeur personnalisée valide pour le type de données de cette colonne. Par exemple, si vous spécifiez la chaîne Aucune valeur, pour une colonne possédant un type de données de String, tous les enregistrements de cette colonne qui contiennent des valeurs null affichent « Aucune valeur ».

Configurer une DataColumn pour afficher une Expression

Une table de données d'un groupe de données peut contenir des colonnes dont la valeur est calculée plutôt que lue dans une base de données. Par exemple, dans un enregistrement de détails de commande, il est plus judicieux de définir une colonne ExtendedPrice en multipliant la quantité par le prix qu'en stockant le total dans l'enregistrement. Les colonnes calculées peuvent également ajouter ou compter des valeurs d'enregistrements enfants ou bien filtrer d'autres enregistrements. Vous pouvez définir des colonnes calculées en vous servant d'expressions.

La syntaxe de l'expression se compose d'opérateurs standard. Vous pouvez référencer une valeur de données en vous servant de son nom de colonne (comme vous le feriez dans une instruction SQL) et inclure des fonctions d'agrégation telles que Count.

Par exemple, l'expression d'une colonne ExtendedPrice basée sur les colonnes UnitPrice et Quantity de l'enregistrement en cours pourrait simplement être la suivante :

UnitPrice * Quantity

Pour référencer des colonnes de tables enfants, vous pouvez utiliser le mot réservé Child suivi du nom de la colonne. Par exemple, l'expression suivante retourne la valeur moyenne de la colonne Price dans tous les enregistrements enfants connexes :

Avg(Child.Price)

Pour plus d'informations, consultez la propriété Expression.

Vous pouvez créer des colonnes d'expression dans le Concepteur de DataSet. Pour plus d'informations sur la création de colonnes, consultez Comment : ajouter des colonnes à un DataTable.

Pour créer des expressions de colonne dans le Concepteur de DataSet

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet. Pour plus d'informations, consultez Comment : ouvrir un groupe de données dans le Concepteur de DataSet.

  2. Dans la table de données de votre choix, sélectionnez la colonne à laquelle vous souhaitez ajouter l'expression ou ajoutez une nouvelle colonne à la table. Pour plus d'informations, consultez Comment : ajouter des colonnes à un DataTable.

  3. Dans la fenêtre Propriétés, entrez une expression dans la propriété Expression.

Rubriques connexes

Catégorie

Rubrique

Informations d'ordre général : Apprenez en plus sur l'utilisation des données dans Visual Studio.

Procédures supplémentaires : Apprenez en sur d'autres procédures pour travailler avec des données.

Référence : Découvrez les classes et les membres que vous utilisez lorsque vous travaillez avec des données.