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

C# Discussion :

Création d'un planning avec TableLayoutPanel et UserControl


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Création d'un planning avec TableLayoutPanel et UserControl
    Bonjour à tous,
    je suis un jeune ingénieur en informatique débutant (pas mon domaine de formation). Je suis dans un service d'informatique industrielle qui crée des applications pour la gestion d'un réseau de tuyaux. Mon premier projet a été de développer une application pour la gestion de plans de pompage. En effet, depuis un poste central, des plans sont édités et faxés à plusieurs installations. Jusqu'ici chaque agent reportait à la main sur un excel les informations qu'il recevait.
    Le but de l'appli est de centraliser en BDD les informations et de proposer un format d'affichage proche d'Excel (pour ne bousculer personne ). L'appli doit permettre aussi à chacun d'enrichir les plans à travers un stockage des modifs lui aussi en BDD.
    J'ai donc débuté en tâtonnant sur Visual studio et ai fini par adopter une solution consistant à utiliser des TableLayoutPanel pour les différentes lignes de mes tableaux et des UserControl, qui liés à des objets, représentent les différentes opérations de mon planning. L'avantage de ces choix est de pouvoir accéder facilement aux lignes de mes tableaux (tout est UserControl) et d'accéder facilement aux objets qui sont liés aux contrôles.
    Voici un screenshot rapide, l'affichage est sur deux écrans et le plan est normalement plus riche:

    Nom : screen2.PNG
Affichages : 1278
Taille : 120,0 KoNom : screen1.PNG
Affichages : 2115
Taille : 111,4 Ko

    Par contre, depuis le début et pire encore depuis que le projet s'enrichit avec des demandes, je rencontre des problèmes pour le dessin. Par exemple, l'ajout de scroll sur les TableLayoutPanel est très laborieux et ne semble toujours pas parfait, l'utilisation de TableLayoutPanel avec bordures engendre l'utilisation de petits décalages de pixel et enfin (et surtout ) l'affichage initial puis l'utilisation des scrolls est très lent. J'ai donc très peur que ces problèmes soit rédhibitoire au moment de la livraison et foute en l'air pas mal de travail.

    Je voudrais juste savoir si rien ne vous choque dans ce que j'ai fait et ce que vous, vous auriez fait pour modéliser cette appli? J'ai l'impression que ce type de projet est assez courant mais je n'ai pas trouvé de projets similaires sur le net.

    Précision: l'affichage des tableaux de fond est dynamique, il dépend du secteur à afficher mais aussi des filtres utilisateurs, c'est pourquoi je n'ai pas un fond fixe et je fabrique des TableLayoutPanel imbriqués (un secteur a une liste de sites qui a une liste de stations...)

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    as tu testé en mode release ton application ? ça devrait tourner beaucoup plus rapidement en release et en dehors de VS...

    Après, ton choix ne me semble pas déconnant en terme de userControl.. par contre, ya peut-être un travail à faire sur tes userControls
    car si eux même utilisent massivement des controles, on va commencer à avoir beaucoup de monde sur ta page en terme de controle,
    et forcément, ça va commencer à couter cher en rendu graphique...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci de ta réponse!
    Oui nous l'avons testée en Release, nous l'avons même mise sur un serveur test avec accès à distance puisque l'appli devra être accessible de cette manière! Après le temps de chargement n'est pas fou, c'est de l'ordre d'un 15aine de secondes lors de la demande d'affichage. Par contre ce qui me gêne surtout c'est le manque de souplesse du programme, surtout si on considère que l'application remplace une ancienne feuille Excel. En fait, tout au long du développement, j'avais l'impression que les outils d'un Winform n'étaient pas du tout adaptés à ce genre de projet; tout ce qui était scroll et dessin dynamique du planning m'a toujours semblé laborieux et j'ai souvent eu l'impression de bricoler...

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    on peut vraiment faire de chouettes choses avec les winforms.. et WPF ne sera pas forcément beaucoup plus rapide (quoi que...)

    C'est juste après que, entre Excel et une application qui doit offrir des choses "proches", peut-être faut-il revoir l'ergonomie...

    Car, finalement, si le programme correspond à quasiment une feuille excel, on peut se demander si c'était pertinent...

    J'ai souvent du réfléchir à basculer des feuilles excel (avec macro) vers du code.. .et souvent, la réflexion a portée sur l'ergonomie... et si possible, essayer
    de "casser" le coté tableau d'excel qui, bien que pratique, bouffe beaucoup de ressource si on le traduit avec des controles...

    Perso, je trouve que le datagrid view est souvent une solution très pratique (même si un peu chiant à customiser) car quand même vraiment performant...
    (et puis surtout, il gère le scroll )
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Oui effectivement, moi aussi je me demande si c'était vraiment pertinent comme projet.. Mais bon ces choses-là ne sont pas entre mes mains.
    J'avoue que j'avais pas pensé au DataGridView car au début, je pensais que c'était un contrôle très rigide et je ne l'utilisais que pour des visus sur des tables de BDD. Je vais essayer de voir un peu ce que je pourrais faire en customisant un peu!
    Merci!

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    bah, le binding du datagridview te permet de te binder à ce que tu veux... donc, aussi bien une table provenant d'un dataset ou d'ailleurs que d'une liste d'objet( List<TestObjects>)...

    Franchement, la DGV, s'est vraiment puissant...

    tu peux meme définir tes propres controles pour que lors d'une édition, ton controle soit utilisée par la cellule à éditer...

    une explication ici :

    DataGridView edition control
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. [AC-2007] Création d'un planning avec Access.
    Par Samwi dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/10/2010, 16h20
  2. Création planning avec report
    Par Atomix51 dans le forum Excel
    Réponses: 3
    Dernier message: 09/11/2008, 12h24
  3. [Débutante] Création d'une image avec un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/07/2004, 09h58
  4. création base de données avec easyphp
    Par Battosaiii dans le forum Débuter
    Réponses: 5
    Dernier message: 29/06/2004, 18h50
  5. Création d'une base avec IbConsole
    Par Lucien dans le forum Outils
    Réponses: 3
    Dernier message: 02/03/2004, 18h34

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