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 :

[C#][WPF] datagrid & updates & multifenêtres


Sujet :

Windows Presentation Foundation

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut [C#][WPF] datagrid & updates & multifenêtres
    Je tiens d'abord à vous féliciter pour le site et les articles qu'il contient.

    Je suis débutant en WPF et j'ai choisi de développer avec, une application .

    Mon application récupère des données stockées dans une base de donnée et les affiches dans un datagrid ( wpf toolkit ) , j'ai utilisé une architecture MVVM (tuto sur le site).

    Le programme fonctionne mais je pense qu'il est mal optimisé donc mes questions sont les suivantes :

    -Je fais un Binding sur une datatable , cependant je la met à jour via un timer ( Pooling toutes les X secondes) dans le code behind.
    J'utilise une observable collection pour changer les valeurs.

    Pour faire un pooling sur ma base de données dois-je utiliser un timer dans le code behind ?
    si non , où dois-je le mettre ? Sachant que j'utilise plusieurs BDD.

    Le problème avec la méthode que j'utilise est que tout s'actualise et donc le scroll , les colonnes , les lignes séléctionnées s'annulent.

    -Mon autre question concerne le multi fenetrage , en effet je veux lancer ( si l'utilisateur le demande) d'autres fenètres qui affichent les mêmes informations mais avec des query différentes dans la bases de données , je n'ai pas réussi à générer la même fenêtre de mon application depuis elle-même.

    Je vous remercie par avance de l'aide que vous pourrez m'apporter.

    à bientôt.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Citation Envoyé par Orano77
    Pour faire un pooling sur ma base de données dois-je utiliser un timer dans le code behind ?
    si non , où dois-je le mettre ? Sachant que j'utilise plusieurs BDD.
    Ce n'est pas une obligation, mais c'est une solution qui me parait simple à mettre en place. Je vois bien une autre solution (peut-être pas adaptée à tous les cas de figures), mais elle est plus complexe à mettre en place et je ne sais pas si toutes les sgbd le gère. La solution dont je parle consiste à être notifié par la base de données des changements. Si tu veux regarder un peu ce point, je te met un lien (spécifique Oracle) :
    http://forums.oracle.com/forums/thre...12&tstart=2539

    Citation Envoyé par Orano77
    Le problème avec la méthode que j'utilise est que tout s'actualise et donc le scroll , les colonnes , les lignes séléctionnées s'annulent.
    Tu dois pouvoir gérer ça de ton côté non ? Sauvegarde du contexte (colonnes, ...). Les seules difficultés concernent le scroll et l'item sélectionné, mais tu dois pouvoir t'en sortir avec une ICollectionView côté ViewModel (voir les méthodes MoveCurrentTo, MoveCurrentToPosition, ...).

    Citation Envoyé par Orano77
    Mon autre question concerne le multi fenetrage , en effet je veux lancer ( si l'utilisateur le demande) d'autres fenètres qui affichent les mêmes informations mais avec des query différentes dans la bases de données , je n'ai pas réussi à générer la même fenêtre de mon application depuis elle-même.
    Plusieurs solutions, tu utilises la classe Process en gérant éventuellement des arguments pour lancer ton exe. (c'est pas du mdi pour le coup...).
    Sinon il y a la solution qui consiste à travailler avec des onglets (éventuellement onglets dockables, par exemple AvalonDock) et dans chaque onglet tu inserts ta vue.

  3. #3
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 250
    Par défaut
    Citation Envoyé par Orano77 Voir le message
    -Mon autre question concerne le multi fenetrage , en effet je veux lancer ( si l'utilisateur le demande) d'autres fenètres qui affichent les mêmes informations mais avec des query différentes dans la bases de données , je n'ai pas réussi à générer la même fenêtre de mon application depuis elle-même.
    Salut,
    Je ne suis pas sûr de comprendre ...

    Si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MonTypeFenetre maFenetre = new MonTypeFenetre();
    maFenetre.Show();
     
    MonTypeFenetre maFenetre2 = new MonTypeFenetre();
    maFenetre2.Show();
    Ca ne va pas ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut
    Salut,

    Merci binoo pour ces informations , en effet actuellement je sauvegarde le contexte manuellement mais je trouve cela pas super propre et oui je bloquais pour le scroll donc encore merci je vais regarder tout sa et l'implémenter à mon code.
    C'était les réponses que j'attendais.

    Merci Julien_G pour cette réponse , j'ai utilisé cette méthode mais comme mon soft est assez lourd et que les fenêtres utilisent les mêmes instances je cherche plutôt à optimiser ce fonctionnement.

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

Discussions similaires

  1. datagrid et update
    Par manu80000 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/09/2007, 17h11
  2. [WPF]Problème d'update de binding
    Par guitoux1 dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 12/06/2007, 17h42
  3. Réponses: 4
    Dernier message: 03/05/2005, 17h02

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