Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#/WPF] Grid dynamique

Faire apparaître des lignes ...

    13 juillet 2011 à 10:46:25

    Bonjour à tous,

    J'ai besoin de votre aide pour créer une sorte de Grid dynamique. Pour résumer la situation, je trace une courbe avec un bouton "Tracer" sur une période définie par 2 DatePicker présent sur la fenêtre.
    Ce même bouton m'affiche aussi un ListView dans lequel on trouve des informations relatives à la courbe (pour simplifier on va dire "Jour"(abscisse) et "Valeur"(ordonnée)). Ce ListView contient une colonne supplémentaire qui résulte d'un calcul dépendant d'un facteur variable selon les jours (disons Facteur*valeur).

    Ce que j'aimerais faire c'est que une fois qu'on a sélectionné les dates qui limitent la période, une ligne dans Grid (ou autre chose) apparaisse avec 3 colonnes : 2 DatePicker et un TextBox pour pouvoir définir une valeur sur une période. Le premier DatePicker devant correspondre à la date de début de la période.
    Ensuite si le deuxième ne correspond pas à la date de fin, alors on rajoute une deuxième ligne et ainsi de suite jusqu'à couvrir toute la période.

    Voilà, si quelqu'un a une idée, je suis preneur ! Merci
    • Partager sur Facebook
    • Partager sur Twitter
      14 juillet 2011 à 10:26:28

      Humf...

      La technologie WPF (et Silverlight) est prônée par Microsoft avec son pattern favori => MVVM. Dans ce pattern, tu as la vue d'un côté, qui se sert dans des objets métiers pour afficher correctement les données (globalement).

      L'idée, si tu optes pour ce pattern de développement, c'est que tu n'aurais plus besoin de "faire une Grid dynamique" => Une ListView ou ItemsControl correctement templatisé, pour afficher ce que tu veux, aurait sa source de données liée (avec {Binding ...}) sur une ObservableCollection contenant tous les paramètres pour une ligne donnée.
      Ca résoud :
      -Ton problème de "grille dynamique"; la vue étant générée automatiquement en fonction du contenu de l'ObservableCollection, il te suffirait d'ajouter 4, 5, 12 ou 80 objets dans cette collection pour afficher autant de ligne dans ta grille.
      -Un futur problème de gestion des données => Comment tu vas gérer ces lignes derrière?? On ajoutant des surveillance d'évènement et en faisant des gros if-else dans les méthodes?? Ca sera vite lourd. Avec ce procédé, une ligne visuelle = un objet dans ta collection; dans le pire des cas, tu vas te retrouver avec une boucle plutôt qu'avec des if-else interminable.
      • Partager sur Facebook
      • Partager sur Twitter

      [C#/WPF] Grid dynamique

      × 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