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 :

Datagridview Difficile à créer


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut Datagridview Difficile à créer
    Bonjour à tous

    Sous visual basic express 2010 , j'aimerais créer un tableau comme sur excel,
    avec les colonnes suivantes(ci-joint un exemple fait sur excel) :
    code, designation, quantité, cours, estimation, cours actuel,valorisation, plus value
    dans une ligne tout en haut, et peut-être
    encore 2 lignes où entrer des données et en bas une ligne total qui ferait la somme des éléments "quantité, estimation, valorisation".

    Sur les forums j'ai lu qu'il fallait utiliser une datagridview, et que c'etai redoutablement efficace, je vois effectivement que l'on peut obtenir ce que je cherche avec.

    Cependant, je teste mais ca ne donne rien, et pourtant je suis intelligent
    On parle de dataset, de binding, certains parlent de créer un fichier xml , de datagridview indépendante / non liée, etc etc, les solutions semblent nombreuses et je n'arrive pourtant pas à comprendre et reproduire.

    En Priorité : Je suis bloqué à cette partie dans mon programme, et sans cela impossible d'avancer, donc pourriez vous me donner les astuces et étapes pour créer cette datagridview s'il vous plait?
    Contraintes sur les colonnes :
    "quantité, cours, cours actuel" : uniquement numérique
    "estimation, valorisation, plus value" : obtenus par calcul donc non modificables

    =>
    Comment forcer un format numérique sur une colonne ?
    Comment interdire la saisie sur une colonne ?

    Contraintes sur les lignes :
    Rajout automatique d'une ligne quand il n'en reste plus entre la ligne précédente et la ligne total.

    je dois reproduire ce genre de tableau sur 4 autres fenetres filles, et ce serait sympa si j'avais des propositions de codes et comment faire étape par étape, ainsi j'apprendrais pour prochainement.

    Merci pour tout éclaircissement

    Cordialement mes chèr(e)s
    Images attachées Images attachées  

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    bonjour,
    moi je veux bien t'aider mais bon y'en a pour au moins 40min de boulot en travaillant vite donc en t'expliquant...
    Commence plutôt par essayer de faire un datagridview avec les bonnes entêtes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (dgv.Columns.Add("designation_colonne_1,"entête de la colonne");)
    Ensuite tu regarde comment créer une ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (dgv.Rows.Add(a,b,c,d,e,f,g,h);)
    Puis tu regarde comment contraindre l'utilisateur à inscrire uniquement des chiffres (Sur la fonction cellValueChanged tu teste que c'est bien un nombre int.tryParse() ou float;tryParse ou avec Regex)
    Puis sur cette même fonction tu fais ton calcule de somme.

    Essayes de commencer tout seul et quand tu bloques demandes des choses plus précises sinon personne ne t'aidera on à tous du boulot tu sais

    Aller courage !

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut Merci
    Merci, ta réponse m'a déjà donné des éléments , mais afficher une ligne total à ma Datagridview, là est la problème, avant même de lui asséner la fonction de faire la somme dans certaines colonnes.
    je poste un extrait du code concerné ainsi qu'une vue de ma Datagridview pour que tu ai une meilleure vue du problème.
    J'aimerais que le total soit là ou je l'ai indiqué dans ma capture d'écran, car quand je rajoute une ligne avec le bouton, la nouvelle ligne se rajoute par dessus cette ligne et donc cette ligne descend(ce qui ne me déplaît pas).
    Thanks for the support!
    Images attachées Images attachées   

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Le plus simple, c'est d'utiliser un DataSet et de lier le DataGridView dessus.

    Ajoute un élément DataSet à ton projet, et dans le designer du DataSet, crée une table avec les colonnes qui vont bien.

    Ensuite, dans le designer de ta Form, crée un DataSet. Dans la liste déroulante de la propriété DataSource, choisis la table que tu veux dans ton DataSet. Ca devrait automatiquement créer les colonnes du DataGridView.

    Ensuite, modifie les colonnes du DataGridView (propriété Columns) pour les personnaliser. Par exemple
    - pour interdire l'édition dans une colonne : ReadOnly = true
    - pour choisir le format : DefaultCellStyle.Format (voir ici pour les formats possible)

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut
    Citation Envoyé par tomlev Voir le message

    Ajoute un élément DataSet à ton projet, et dans le designer du DataSet, crée une table avec les colonnes qui vont bien.

    Ensuite, dans le designer de ta Form, crée un DataSet. Dans la liste déroulante de la propriété DataSource, choisis la table que tu veux dans ton DataSet. Ca devrait automatiquement créer les colonnes du Datagridview.
    Je sens que ça commence à venir !!! J'y suis presque, juste quelques incomprehensions.
    J'ai donc fais "ajouter un dataset" là c'est ok, dans les outils, jai fais glisser une datable, là c'est ok, j'ai fait clik droit, ajouter des colonnes( et j'ai rempli toutes les colonnes qu'il me fallait( PS: dans la datatable les soit disantes colonnes sont affichées comme des lignes, j'espere que c'est ok).
    maintenant quand tu dis
    Dans la liste déroulante de la propriété DataSource, choisis la table que tu veux dans ton DataSet.
    je ne comprend pas c'est lequel le datasource afin qu eje puisse accéder à ses propriétés afin de choisir la datatable que je veux dans mon dataset ; je sens que j'y suis presque...

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par josker Voir le message
    PS: dans la datatable les soit disantes colonnes sont affichées comme des lignes, j'espere que c'est ok).
    Oui c'est normal : c'est la liste des colonnes, pas une représentation des données de la table.

    Citation Envoyé par josker Voir le message
    maintenant quand tu dis je ne comprend pas c'est lequel le datasource afin qu eje puisse accéder à ses propriétés afin de choisir la datatable que je veux dans mon dataset ; je sens que j'y suis presque...
    tu sélectionnes le DataGridView dans le designer
    tu affiches la grille des propriétés
    quand tu déroules le combo pour la propriété DataSource, tu dois avoir un truc dans ce style :

    Là dedans tu sélectionnes la table que tu veux

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut
    Monsieur, vous ETES MAGNIFIQUEUUUHHH!!!

    j'ai réussi à créer ma datagrid view avec les titres automatiquement, et comme je suis un emmerdeur de 1ere, je ne vous lacherais plus jusqu'à en finir avec cette histoire de datagridview

    Maintenant :
    1)-
    comment faire en sorte que lors de la création de la datagridview, elle ait déjà 3lignes inscrites dans le tableau par exemple, au lieu de zéro ligne(juste les en-tète et une ligne sur laquelle on ne peut rien écrire avec un symbole étoilé a l’extrême gauche) ?
    Car j'aimerais que l'utilisateur puisse entrer des données dans les cases, je sais comment rajouter une ligne par un bouton, mais je veux un tableau déjà utilisable dès ouverture, et il n'ya que le mode création de colonnes avec le dataset.

    2)-
    Comment afficher le total de certaines colonnes en bas dans une ligne total comme sur excel, avec le calcul qui se fera automatiquement?
    Une fois ces deux choses faites, c'est fini pour la problématique de la datagridview!!! et je pourrais travailler dans la sérénité complète.

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

Discussions similaires

  1. [Débutant] créer un report Viewer à partir d'une DataGridView
    Par anasschiguer dans le forum Visual Studio
    Réponses: 3
    Dernier message: 13/06/2017, 13h14
  2. Créer une DataGridView avec des lignes instructions
    Par dragondumond dans le forum VB.NET
    Réponses: 20
    Dernier message: 28/03/2013, 10h47
  3. Créer DataGridView Custom avec header fusionné
    Par touftouf57 dans le forum C#
    Réponses: 1
    Dernier message: 26/10/2012, 02h24
  4. Créer des filtres dans un DataGridView
    Par Nijin dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/09/2010, 15h12
  5. Créer un composant identique à DataGridView WinForms
    Par chti_juanito dans le forum ASP.NET
    Réponses: 8
    Dernier message: 08/03/2010, 10h09

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