Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'éléments en fonction d'une List<String>

    23 juillet 2017 à 21:34:16

    Bonjour, 

    Je débute dans le dev C#. J'utilise une List<String> dans mon application qui recupere des données stockées dans une bdd distante à la manière d'un calendrier (un jour on a des événements donc beaucoup d'infos dans la liste, un autre jour absolument rien). 

    J'aimerais pouvoir afficher ma liste de façon propre en creant un groupe d'élément pour chaque objet dans la liste, et quand on cliquera sur l'objet on y trouvera plus d'infos. Je bloque juste sur la création des objets pour le moment .. Je suis sous Visual Studio 2017, application avec design. 

    Merci de votre aide 

    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2017 à 16:51:03

      Pourquoi ne pas utiliser un simple DataSet, typé si nécessaire ?
      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        6 septembre 2017 à 18:26:40

        J'ai essayé mais sans résultat :/ 

        Pour donner plus de détails, je récupère un certain nombre d'évenements par jour (admettons 10 évenements). 

        Pour chaque evenement, j'aimerais afficher une CheckBox (comme ca si checkée, l'evenement est fait), et des labels (pour le titre, la description). 

        De plus, il faudrait afficher les évenements dans une liste pour que l'utilisateur puisse scroll si il y'a 25 evenements ou plus (25 est juste un exemple)

        Ça donnerait quelque chose comme ça : 

        Bon le design sera travaillé après x) mais l'idée est là, chaque évenements sera comme celui encadré en orange. 

        J'aimerais juste pouvoir créer des elements C# (labels, checkBox) pour chaque évemenent récupéré de facon dynamique .. mais je n'y arrive pas :/ 

        Dans mon idée, je pensais créer un GroupBox Evenement qui contiendrais 4 labels & 1 checkbox à chaque fois qu'il y'aurais un évenement 

        -
        Edité par AtlasOfficial 6 septembre 2017 à 18:28:27

        • Partager sur Facebook
        • Partager sur Twitter
          6 septembre 2017 à 18:55:55

          Bon, il faut distinguer 2 choses.

          La partie qui récupère les données (DAL Data Access Layer) et la partie IHM (Interface Homme-Machine).

          La partie DAL est indépendante de la technologie d'affichage utilisée.

          Vous devriez manipuler des choses comme des DataSet typées dans cette partie.

          La partie IHM est dépend largement de la librairie graphique que vous allez utiliser (Winforms, WPF, SilverLight, WebForms, ...).

          Le design de l'IHM me semble assez complexe pour la faire en Winforms car elle demanderait la construction de composants graphiques customisés (User Controls) instanciés dynamiquement car elle ne dispose que de contrôles "Tabulaire" simples (des fournisseur de composants comme NetAdvantage, Red Gate, SyncFusion fournissent des composants plus avancés mais c'est pas gratuit, il y a peut-être des projets open-source équivalents).

          Le design est plus adapté à du WPF qui devrait afficher ce type d'IHM sans gros problèmes.

          En fonction de la librairie graphique utilisée, le DataBinding entre les données gérées par la DAL et les contrôles de l'IHM est bien différent.

          Mais il faut bien séparer la partie DAL de l'IHM, sinon, ça devient immaintenable.

          -
          Edité par bacelar 21 septembre 2017 à 18:23:20

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            21 septembre 2017 à 18:09:11

            Pour être honnête il y'a beaucoup trop de thermes technique pour moi x) je ne fait que débuter pour l'instant.

            Je vais mettre ce projet en stand-by pour le moment et je ne connais rien du WPF ni du Winform ou autres types d'applications C# en soit (par la j'entends, ce que je peux faire avec au final). 

            Ce que j'aimerais faire c'est créer une application de bureau type Gestion de Calendrier sur laquelle on aurait un DateTimePicker. 

            On aurait de base les évenements de la journée et si on selectionne une date on aurait ceux de la date séléctionnée. 

            Je ne sais pas quel langage utiliser du coup pour réaliser ça :/ 

            Merci quand même

            • Partager sur Facebook
            • Partager sur Twitter
              21 septembre 2017 à 19:45:55

              >Je ne sais pas quel langage utiliser du coup pour réaliser ça :/

              Votre besoin est assez basique, vous pouvez le faire avec un peu n’importe quoi.

              Comme on est dans un forum .NET et que vous semblez avoir une vue précises de la tête que doit avoir l'interface (WPF donc) :

              http://www.c-sharpcorner.com/UploadFile/mahesh/wpf-datetimepicker/

              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                22 septembre 2017 à 18:36:47

                Je vais regarder ça, merci ! 

                Juste pour augmenter ma culture générale, quelle est la différence entre le WPF, Winform, Application console, Application web ASP ou Projet de test unitaire ? Le langage reste le même mais je suppose qu'ils sont utilisable pour des environnements ou des types de projets assez précis. 

                • Partager sur Facebook
                • Partager sur Twitter
                  22 septembre 2017 à 19:09:28

                  Un langage, ce n'est qu'un langage, avec juste ça, on fait absolument rien.

                  Les langages .NET viennent avec un ensemble de classes (BCL : Base Class Library) qui est utilisable par tous les langages .NET (c'est une spécificité .NET car, généralement, ces services "fond de panier" sont spécifiques à un environnement de développement lui même spécifique  à un environnement d’exécution lui-même spécifique à un langage).

                  Ces services "fond de panier" ne font pas de choses très évoluées (même pas créer une fenêtre).

                  Pour des besoins plus évolués, M$ a inclus des surcouches au-dessus de la BCL dans le framework .NET (Le contenu exacte de ce qui est dans le framework ou pas en variable en fonction du "profile" des Framework installés).

                  Mais ces surcouches ne sont pas ne sont pas forcement compatibles entre elles et généralement, elle sont spécialisées pour un type d'application particulier.

                  -Winform : application Client Lourd avec une ergonomie graphique type application de gestion

                  -WPF : application Client Lourd avec une ergonomie graphique plus moderne, comme les produits Adobe ou Visual Studio lui-même.

                  -console : application Client Lourd avec une interface type console UNIX.

                  -web ASP (WebForm, à ne pas confondre avec ASP.NET MVC, ni ASP tout court): application client léger (dans un navigateur Web)

                  -Projet de test unitaire : bin pour des projets unitaires.

                  Chaque type de projet sous Visual Studio n'est que l'instanciation d'un modèle qui permet de plus facilement utiliser une surcouche ou une autres en configurant une myriades de détails à la fois pour la génération du livrable, le déploiement du livrable, voir l'utilisation du livrable dans d'autres outils (comme les projets de tests qui fabriquent un livrable que Visual Studio utilise pour faire passer des tests au livrable d'un autre projet (livrable-ception ?) )

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                  Création d'éléments en fonction d'une List<String>

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown