IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Charger une dataTable avec une Enum


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Charger une dataTable avec une Enum
    Bonjour tout le monde.

    Je voudrais mettre en place une CheckBoxList qui affiche les jour de la semaine.
    Pour cela je mets ça côté HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:CheckBoxList ID="cblJour" runat="server" RepeatColumns="3" RepeatDirection="Horizontal"></asp:CheckBoxList>
    Côté CodeBehind je voudrais charger une dataTable pour la mettre en DataSource de la CheckBoxList. Donc j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            Dim dtJour As DataTable
            dtJour.Columns.Add("JValue")
            dtJour.Columns.Add("JTexte")
    'ici
            cblJour.DataSource = dtJour
    Et maintenant je cherche le code que je pourrais mettre "ici" sauf que je sèche. Je pense qu'il faut faire un For Each sur l'Enum des jours de la semaine (DayOfWeek) et faire un dtJour.Row.Add mais je trouve pas la syntaxe.

    Alors soit je fais fausse route et vous connaissez un moyen plus simple, soit vous connaissez le moyen de faire ce For Each.

    Dans tous les cas, merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Le plus simple à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dtJour.DataSource = Enum.GetNames(typeof(TonTypeEnum))
    En espérant t'avoir aidé.

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide

    Premier souci : dtJour ne prends pas la propriété DataSource. Donc j'ai remplacé par cblJour (la CheckBoxList)

    Deuxième souci : Enum me dit "ExpresionAttendue" et là, je comprends pas parce que je ne maitrise pas les énumérations.

    Aurais tu une idée ?

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Premier souci : dtJour ne prends pas la propriété DataSource. Donc j'ai remplacé par cblJour (la CheckBoxList)
    Ca va de soi quand même . J'ai copié-collé sans faire attention que c'était ta DataTable et non ta DropDownList, mais accorde moi au moins le mérite de savoir cela

    Citation Envoyé par zooffy Voir le message
    Deuxième souci : Enum me dit "ExpresionAttendue" et là, je comprends pas parce que je ne maitrise pas les énumérations.
    Je vois pas trop où est le problème..

    Si je fais ceci, ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string[] names = Enum.GetNames(typeof(DayOfWeek)); //tableau des noms
    int[] values = (int[])Enum.GetValues(typeof(DayOfWeek));   //tableau des valeurs
    Quel est le type Enum que tu utilises ?

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Citation Envoyé par Nicolas Esprit Voir le message
    Ca va de soi quand même . J'ai copié-collé sans faire attention que c'était ta DataTable et non ta DropDownList, mais accorde moi au moins le mérite de savoir cela
    Mais oui, pas de blème, j'avasi bien capté, hi hi .

    Citation Envoyé par Nicolas Esprit Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string[] names = Enum.GetNames(typeof(DayOfWeek)); //tableau des noms
    int[] values = (int[])Enum.GetValues(typeof(DayOfWeek));   //tableau des valeurs
    Quel est le type Enum que tu utilises ?
    Est ce que, par hasard ce que tu écris en C# ne serait pas valable en VB ?
    Parce que en faisant cela (qui doit être la même chose) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim s As  string() = [Enum].GetNames(TypeOf(DayOfWeek))
    il veut que je mette un "Is" à la fin, mas je vois pas trop ce qu'il veut précisément. Je sais qu'il y a des différences sur les Enumérations entre C# et VB

    Donc si je suis ton raisonnement tu veux faire un tableau à deux colonnes pour en faire la DataSource de la CBL. Cela solutionnerait d'un seul coup ma problématique entière. Parce que, à terme, faut que j'envoi des libellé de jour selon une langue choisie, mais que les valeurs restent en anglais litéral.

    Sauf que je ne sais pas bien manipuler les tableaux.

    Vois tu ?

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    J'ai écris en C# car j'utilise toujours le C#, la syntaxe est différente en VB mais le principe est le même. Ca te renvoit un tableau de string.

    Je ne veux pas faire de tableau à deux colonnes, je réponds juste à ta question sur comment parser un type Enum en DataSource. Tu n'as pas besoin d'avoir d'id vu que tu peux convertir un string (genre "Saturday") en sa correspondance dans DaysOfWeek.

    Enfin, si tu ne sais pas bien manipuler les tableaux, je crois qu'il faut commencer par le commencement et lire un tuto sur le C# avant de vouloir faire une application complexe non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Comment Charger une DataTable avec une requete
    Par waouni dans le forum Visual Studio
    Réponses: 0
    Dernier message: 13/10/2012, 17h38
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Réponses: 5
    Dernier message: 23/03/2008, 08h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo