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 Forms Discussion :

Gestion images miniatures depuis une BdD


Sujet :

Windows Forms

  1. #1
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut Gestion images miniatures depuis une BdD
    Salut

    je cherche a afficher une serie de miniatures extraites d'une BdD dans une WindowsForm.

    Pour la partie connection/recuperation depuis la BdD, pas de soucis, mais je ne connait pas trop les composants .Net qui serait le plus adapter pour gerer l'affichage, a la maniere de windows (afficher pellicules).

    toutes piste est la bienvenue

    Merci

  2. #2
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    tu veux un affichage horizontal ou vertical?
    si vertical, le plus propre (pas le plus simple) est de modifier une listbox (exemple : http://www.devhood.com/Tutorials/tutorial_details.aspx)

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    DE preference horizontal ... mais j'envisage toutes pistes.
    Par contre il me semble que le lien plante

  4. #4
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Je pense qu'on peut arriver à des très bons résultats pour des miniatures avec une ListView. En effet, chaque item à une propriété ImageIndex et on peut associer le ListView avec un ImageList qui contiendra les images avec la taille désirée. Ensuite, il suffit d'ajouter dynamiquement les images et de les associer avec les ListViewItem grâce à la propriété ImageIndex ( et SelectedImageIndex ).
    Ensuite, pour afficher l'image en plus gros, tu peut associer la listView à un PictureBox et mettre à jour son image en fonction de l'item sélectionné avec le ListView ...

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Oui, question technique, ca ne me pose pas de problemes particulier, je manipulais deja ces classes sous Delphi Win32.

    Par contre je connait mal les composants DotNet et j'ai ete surpris par certaines classes du framework ...

    Sinon je prefererais une liaison directe a un DataSource .... comme le DataGridView (on peut rever non ? )

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    J'ai pas trop compris ta réponse mais juste au cas où, je te parlais de composants .NET là ...

    Enfin bref, normallement tous les composants WinForms supporte le DataBinding. Essaye avec le ImageList pour voir

    [edit]
    après vérification, on dirait qu'on ne peut pas faire passer la propriété Images avec le Binding ... mais bon, ça coute pas cher d'ajouter les images dedans, c'ets juste un petit "Add" ...

  7. #7
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par smyley Voir le message
    J'ai pas trop compris ta réponse mais juste au cas où, je te parlais de composants .NET là ...
    On est bien d'accord
    Mais sous Delphi (Win32) d'ou je viens, il existe ce genre de compos qui se manipulent grosso modo de la meme maniere.
    Donc techniquement je sais me servire de ces compos : Ajout d'items et liaison a une Image.

    Citation Envoyé par smyley Voir le message
    Enfin bref, normallement tous les composants WinForms supporte le DataBinding. Essaye avec le ImageList pour voir

    [edit]
    après vérification, on dirait qu'on ne peut pas faire passer la propriété Images avec le Binding ... mais bon, ça coute pas cher d'ajouter les images dedans, c'ets juste un petit "Add" ...
    C'est la que le bat blesse ....
    Les specs sont les specs et j'essaye d'integrer mon code dans une application ... qui manipule les Datasources (que je maitrise mal)
    Donc apres faut que j'arrive a integrer ces "adds" dans l'architecture de l'appli

    J'osais esperer quelque chose de plus direct

  8. #8
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Je connais Delphi mais ... enfin bon

    Citation Envoyé par Clorish Voir le message
    Pour la partie connection/recuperation depuis la BdD
    Mais si tu arrives à récupérer les images, qu'est-ce qui t'empèches de les ajouter directement dans un ImageList ??

  9. #9
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    rien ... mais la structure actuelle que je reprends demande (entre autre) e passer en parametre de fonction un control dont le DataSource sera lié a un Binding source (si j'ai bien compris)

    Sans cette propriete, faut que je trouve comment placer le code d'ajout dans la structure actuele de l'appli, decoupé en couche specialisées ...

    C'est pas genant en soit, mais moins trivial

  10. #10
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    bref non, ça fait beaucoup pour pas grand chose.
    Tu as le "droit" dans ton code d'appeller une méthode genre "LoadImages" sans bouleverser la structure de ton application ? par exemple, après que les données aient été chargées ou quand une modification survient tu pourrai faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public virtual void LoadImages(Image[] images)
    {
     listView.SuspendLayout();
     imageList.Images.Clear();
     int current = 0;
     foreach(Image image in images)
     {
       ListViewItem item = new ListViewItem("");
       item.ImageIndex = item.SelectedImageIndex = current;
       imageList.Images.Add(image);
       listView.Items.Add(item);
       current++;
     }
     listView.ResumeLayout();
    }
    Si tu ne peut même pas faire d'appel à LoadImages, ...

    Celà implique que tu puisse récupérer la liste de toutes les images mais normallement c'est possible non ?

  11. #11
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Ouais .. je vais voir ca
    Mais le principe est de passer le compo a une fonction qui se charge de lier le Datasource a la property DataSource (je crois) du composant. Or il n'en a pas ...
    Ca me gene pas personelement de developper moi meme une prop DataSource et gerer a la main la manipulation et l'affichage de ce data source, mais cela a un cout en dev. Mon chef aurait prefere avoir quelmque chose de tout fait Enfin ... si cela existe

    Visiblement non

Discussions similaires

  1. Affichier une image stockée depuis une BDD Mysql
    Par Paul75 dans le forum Développement iOS
    Réponses: 0
    Dernier message: 18/01/2015, 20h05
  2. Réponses: 13
    Dernier message: 16/01/2015, 10h50
  3. [WD15] Etat: Valeur d'une image depuis une BDD
    Par Svart26 dans le forum WinDev
    Réponses: 0
    Dernier message: 15/04/2010, 16h25
  4. [SGBD] affichage d'image jpeg depuis une base mysql
    Par eric_300 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/09/2005, 12h27
  5. Gestion des Utilisateurs depuis une application
    Par LLaurent dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/03/2003, 16h29

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