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

Windows Presentation Foundation Discussion :

Comment faire un contrôle "planning" [Débutant(e)]


Sujet :

Windows Presentation Foundation

  1. #1
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 199
    Billets dans le blog
    1
    Par défaut Comment faire un contrôle "planning"
    Bonjour,

    Cela fait très longtemps que je me pose la question, et ne trouvant pas de réponse, je vous la soumet.

    Je désire créer une application qui affiche un planning, un peu comme celui d'outlook, mais en lignes.

    J'ai en effet plusieurs traitements sur un serveur, qui tournent dans des "files batch", à heure fixe.

    Je souhaite visualiser, sur 24 heures (en largeur) les différentes tâches (sous forme de rectangles dépendant de la durée du traitement) pour chaque file batch (en ligne).

    Un peu comme dans l'image jointe.

    J'ai pour contraintes :
    - Une tâche ne commence pas à une heure précise (vu qu'elle est mise en file d'attente, elle ne démarre pas forcément à l'heure demandée, mais à l'heure à laquelle la file est vide). Impossible donc d'utiliser un DataGrid en colorant les Cells.
    - Je veux pouvoir afficher des informations contextuelles au survol avec la souris et clic droit.
    - Je veux pouvoir redimensionner le planning lorsque la fenêtre change de taille et le rendre scrollable lorsqu'une taille minimum est atteinte.

    Voici les pistes que j'ai en tête :
    - Utiliser un contrôle image et dessiner "à la main" à grand coups de fillrectangle. Problème : les tâches ainsi dessinées ne seront pas des contrôles, donc la gestion du survol/clic droit de la souris avec être la croix et la bannière.
    - Utiliser des label, avec une taille fixe et un fond de couleur en pagaille, devant un contrôle image ou autre, pour avoir la grille du planning. Seul hic, le redimensionnement va vite être la croix et la bannière. Aussi, je ne suis pas certain que ce soit la meilleure solution.

    Qu'est-ce que vous me suggérez de mieux pour gérer ça ?

    Idéalement, même si je n'en ai pas besoin dans l'immédiat, je souhaiterais pouvoir faire des redimensionnement de mes tâches à la souris et des drag'n drop (exactement comme dans Outlook).

    Cordialement,
    Sylvain
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Pourquoi ne pas avoir une Grid et lui ajouter des contrôles?
    Tu joue avec row, column, rowspan et columnspan.
    Et puis margin left et right pour les tâches qui ne finissent et ne commencent pas à une heure précise.

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 199
    Billets dans le blog
    1
    Par défaut
    Je suis en train de tester cette piste.

    J'aime pas trop le concept de rowspan/colspan : que ce passe-t-il si j'ai deux tâches dans la même cellule ?

    En effet, dans la base, j'ai des enregistrements qui peuvent durer 1 seconde, et être consécutifs.
    Certes, ce sera de toute façon illisible sans une fonction de zoom, mais je suis obligé de les mettre dans le planning. Hors, je ne peux pas m'amuser à mettre une colonne par seconde de la journée.

    En tout cas, je crois que je m'attaque à la face nord de l'Everest : je ne connais rien à WPF, et en plus je me lance dans un truc que je ne sais pas faire en .NET "classique". C'est mal barré, j'arrive même pas à afficher les bords et la grille de ma grille

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Je serais toi, je prendrais un pack de contrôles du genre Telerik...
    Car si tu fais le calcul, le prix du pack Telerik ca fait 2-3jours de prestataire, une broutille sur un projet

  5. #5
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 199
    Billets dans le blog
    1
    Par défaut
    Ouais, mais en même temps c'est de l'auto-formation/veille techno donc bah si je commence à dépenser des sous pour un truc qui va m'empêcher d'apprendre, ça vaut pas trop le coup

    En fait, je profite d'un peu de temps libre pour faire une interface graphique permettant d'identifier des goulots d'étranglement dans la planifications de procédures automatiques de notre ERP.
    => Genre je suis récemment tombé sur un script de mise à jour massive de données en même temps qu'une intégration massive de données dans les mêmes tables... et le recalcul des index de la base

    Tu m'étonnes que le serveur rammait pendant toute la nuit :o

    Du coup là c'est pour avoir une vision sous forme de planning et se rendre compte immédiatement des plages qui se chevauchent, afin de les surveiller.

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Mmmmh une idée qui me vient:
    Une listbox, le template est un canvas et pour chaque item un rectangle dont le x est l'heure de la journée, le y est le jour et la largeur du rectangle la durée

  7. #7
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 199
    Billets dans le blog
    1
    Par défaut
    Bon, c'est loin d'être extra-ordinaire, mais pour le moment c'est pas trop trop pourri...

    Seul truc, j'avais pas pensé que tous les batch tournent... entre minuit et 3 heures, du coup tout est collé à gauche et c'est tout petit

    Mais bon, je suis assez content de ce résultat (pourtant bien pourri, je l'admet) car j'ai l'impression d'être sur la bonne voie
    Images attachées Images attachées  

Discussions similaires

  1. Comment faire un système de plan?
    Par LightShooter dans le forum Android
    Réponses: 6
    Dernier message: 27/03/2013, 19h17

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