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

VB.NET Discussion :

[VB.net] Afficher form par rapport au click ;?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut [VB.net] Afficher form par rapport au click ;?
    Salut, désolé pour le titre mais le problème que j'ai est difficile à exliquer lol.

    Enfaite j'ai plusieurs frm qui on la même présentation et les même fonctionnalités (affichage liste et les boutons ajouter,modifier,supprimer) c'est juste les données qui changes.

    Et je voudrai (si possible) faire un seul formulaire windows ou les données sont remplis en fonction du choix de l'utilisateur quand il va clicker sur un champ du menu...

    Je l'ai déjà fais en PHP et c'est très pratique, ça évite de refaire la même opération et c'est plus rapide en cas de modification. J'aimerai le faire sur mon projet VB mais je ne sais pas comment

    MERCI

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Ben tu crées ton Formulaire Générique.

    Et quand tu l'appelles, en fonction de ce que l'utilisateur a cliquer tu ne charges pas les même données....

    Comme tu vas te dire que ma réponse est logique (à question logique), J'anticipe:

    J'imagine que:
    - Ta liste va contenir des lignes qui provienne de ta base de données.
    - Donc il faut charger tes données dans un datatset
    - Ce dataset sera la source de ton Datagrid qui va afficher les lignes
    - En fonction du bouton d'appel, et bien tu utilise pas la même requête pour remplir le dataset.
    - Et pour tes fonctions Ajout, modif etc... et bien tu fais des if en fonction des cas.

    Mon imagination réponds il a tes (futures) questions?

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pour la partie appel le mieux et de faire un constructeur paramétré
    si le form diffère selon une valeur comme un identifiant tu le passes
    si la fonction change selon des types de form, tu peux utiliser une enum
    exemples pour les 2 cas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public sub new (Id as long)
      initiliazecomponent
      ' traitement selon id pour gérer l'affichage
    end sub

    ou avec une enum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public enum TypeOuverture
      ajout = 1
      modification = 2
    end enum
     
    public sub new (ouverture as TypeOuverture)
      select case ouverture
        case ajout
           ' mise en page pour l'ajout
        case modification
          ' mise en page pour la modification
      end select
    end sub
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut
    - Ta liste va contenir des lignes qui provienne de ta base de données.


    - Donc il faut charger tes données dans un datatset
    - Ce dataset sera la source de ton Datagrid qui va afficher les lignes
    J'ai jamais utilisé DataSet (je suis débutant ), j'utilise DataGridView (il y avait que ça dans le tuto que j'ai lu ). A quoi ça sert, si on peux directement afficher avec DataGrid ?

    Mon imagination réponds il a tes (futures) questions?
    En partie

    pour la partie appel le mieux et de faire un constructeur paramétré
    si le form diffère selon une valeur comme un identifiant tu le passes
    Non, ça ne change pas par rapport à l'identifiant. C'est plus par rapport à la table...

    J'explique: J'ai un menu ou l'on peux choisir entre Ram, Processeur ou Carte mere.

    Lorsque l'utilisateur click sur l'un des 3 il à une page avec :
    - A gauche : la liste (des processeurs par exemple)
    - A droite : 3 boutons (Ajouter, Modifer, Supprimer)

    si la fonction change selon des types de form, tu peux utiliser une enum
    J'ai fait quelques recherches sur ENUM car c'est la première fois que je le rencontre , mais j'ai pas très bien compris le fonctionnement et l'utilité ?

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    l'utilité c'est de nommer une valeur entière, ca évite des erreurs de codage et ca rend le code lisible

    imaginons ton form ou tu as tes 3 requetes dans des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private _RqRam as string = "select * from ram"
    private _RqProcesseurs as string = "select * from processeurs"
    private _RqCms as string = "select * from cms"
    tu pourrais très bien filtrer par rapport à une valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public sub new (typeouverture as integer)
      select case typeouverture
         case 1
           moncmd.commandtext = _rqram
         case 2
           moncmd.commandtext = _rqprocesseurs
         case 3
           moncmd.commandtext = _rqcms
       end select
        ' execution de la requete et remplissage du datagrid
    end sub
    tu peux donc dire arbitrairement que si on veut afficher la ram on envoie 1 etc..
    donc sur l'autre form qui appelle celle ci tu ferais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim f as new frmaffichePieces(1)
    f.show

    l'utilité de l'enum c'est donc comme je l'ai dis d'améliorer la lisibilité

    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
    17
    18
    19
     
     
    public enum TypeOuverture as integer
      ram = 1
      processeurs = 2
      cartemères = 3
    end enum
     
    public sub new (typeouverture as TypeOuverture)
      select case typeouverture
         case ram
           moncmd.commandtext = _rqram
         case processeurs
           moncmd.commandtext = _rqprocesseurs
         case cartemères
           moncmd.commandtext = _rqcms
       end select
        ' execution de la requete et remplissage du datagrid
    end sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim f as new frmaffichePieces(ram)
    f.show
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut
    ahh merci je compren un peux mieux ;

    moncmd.commandtext c'est le bouton du click (dans le menu) ??

    Pour l'instant j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim f as new frmaffichePieces(1)
    f.show
    dans ma page d'accueil.

    J'ai créé FrmPage avec le DataGrid, la connexion et ça :
    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
    17
    public enum TypeOuverture as integer
      ram = 1
      processeurs = 2
      cartemères = 3
    end enum
     
    public sub new (typeouverture as TypeOuverture)
      select case typeouverture
         case ram
           moncmd.commandtext = _rqram
         case processeurs
           moncmd.commandtext = _rqprocesseurs
         case cartemères
           moncmd.commandtext = _rqcms
       end select
        ' execution de la requete et remplissage du datagrid
    end sub
    C'est bien ça ?


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

Discussions similaires

  1. Afficher champs par rapport à d'autres champs
    Par Luisito31 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/01/2010, 14h40
  2. Coomment ajuster taille Form par rapport à écran ?
    Par Jap dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/02/2009, 15h35
  3. [JCombobox] Afficher info par rapport à un choix
    Par cjeanmar dans le forum Composants
    Réponses: 11
    Dernier message: 13/01/2008, 22h22
  4. [access/vb.net] Suppression ligne par rapport date
    Par t1marlartiste dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/07/2007, 20h01
  5. Réponses: 7
    Dernier message: 02/02/2005, 20h32

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