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 :

[CONTROL PANEL] Problème de load sur formulaire


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut [CONTROL PANEL] Problème de load sur formulaire
    Bonjour,


    J'ai une petite application ou j'utilise un panel pour afficher tous mes formulaires afin de ne pas afficher trop de fenêtre superposées.

    Par exemple lorsque je clic sur un bouton ça m'ouvre dans un PANEL le formulaire Utilisateurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' --- Intégration du formualire utilisateur dans la PANEL2
            utilisateurs.TopLevel = False
            Panel2.Controls.Clear()
            Panel2.Controls.Add(utilisateurs)
            utilisateurs.Show()
    Ensuite dans le LOAD de mon formulaire j'appel une procédure d'initialisation d'un DATAGRIDVIEW :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     ' *** INITIALISATION DU FORMULAIRE PARAMTERE UTILISATEURS *** '
        Sub init_parametres_utilisateur()
     
            ' --- Déclaration de variable
            Dim connection As New SqlClient.SqlConnection(VGconnexion)
            Dim command As SqlClient.SqlCommand
            Dim ds As DataSet
            Dim da As SqlClient.SqlDataAdapter
     
            ' --- Initialisation des colonnes du DATAGRIDVIEW
            utilisateurs.DATA_USER.ColumnHeadersDefaultCellStyle.Font = New System.Drawing.Font("verdana", 9, FontStyle.Bold)
            utilisateurs.DATA_USER.ColumnHeadersDefaultCellStyle.BackColor = Color.Orange
            utilisateurs.DATA_USER.Font = New System.Drawing.Font("verdana", 9)
     
            ' --- Suppression des colonnes
            utilisateurs.DATA_USER.Columns.Clear()
     
            ' --- Ouverture de la connexion à la Base de données
            Try
                connection.Open()
                ' --- Cas d'erreur
            Catch
                ' --- Message d'erreur
                message_erreur_ouverture_bdd()
            End Try
     
            ' --- Initialisation de la requête SQL pour remplir le DATAGRIDVIEW
            command = New SqlClient.SqlCommand
            command.Connection = connection
            command.CommandText = "select numero_utilisateur, login_utilisateur, nom_utilisateur, prenom_utilisateur  from UTILISATEUR"
     
            ' --- Initalisation DATASET et SQLADAPTATER pour acceuillir le résultat de la requete
            ds = New sauvegarde
            da = New SqlClient.SqlDataAdapter
            da.SelectCommand = command
     
            ' --- Ouverture de la connection + remplissage du dataset
            da.Fill(ds, "UTILISATEUR")
     
            ' --- Intégration des données du DATASET dans le DATAGRIDVIEW
            utilisateurs.DATA_USER.DataSource = ds.Tables("UTILISATEUR")
     
            ' ---  Fermeture de la connexion à la base
            Try
                connection.Close()
                ' --- Cas d'erreur
            Catch
                ' --- Message d'erreur
                message_erreur_fermeture_bdd()
            End Try
     
            ' --- Initialisation du Bouton MODIFIER
            Dim boutonmodifier As New DataGridViewButtonColumn
            ' --- Déclaration des paramètres du bouton MODIFIER
            With boutonmodifier
                .HeaderText = "MODIFIER"
                .Name = "modifier"
                .Text = "M"
                .UseColumnTextForButtonValue = True
            End With
     
            ' --- Initialisation du bouton SUPPRIMER
            Dim boutonsupprimer As New DataGridViewButtonColumn
            ' --- Déclaration des paramètres du bouton SUPPRIMER
            With boutonsupprimer
                .HeaderText = "SUPPRIMER"
                .Name = "supprimer"
                .Text = "X"
                .UseColumnTextForButtonValue = True
            End With
     
     
            ' --- Lecture seule des données de la table PERIHPERIQUE
            utilisateurs.DATA_USER.Columns(0).ReadOnly = True
            utilisateurs.DATA_USER.Columns(1).ReadOnly = True
            utilisateurs.DATA_USER.Columns(2).ReadOnly = True
            utilisateurs.DATA_USER.Columns(3).ReadOnly = True
     
     
     
            ' ------------------------------
            ' ---- MIS EN FORME
            boutonsupprimer.DefaultCellStyle.BackColor = Color.OrangeRed
            boutonmodifier.DefaultCellStyle.BackColor = Color.LightGreen
     
     
            utilisateurs.DATA_USER.Columns(0).HeaderText = "N°"
            utilisateurs.DATA_USER.Columns(0).Width = 30
     
            utilisateurs.DATA_USER.Columns(1).HeaderText = "LOGIN"
            utilisateurs.DATA_USER.Columns(1).Width = 160
     
            utilisateurs.DATA_USER.Columns(2).HeaderText = "NOM"
            utilisateurs.DATA_USER.Columns(2).Width = 160
     
            utilisateurs.DATA_USER.Columns(3).HeaderText = "PRENOM"
            utilisateurs.DATA_USER.Columns(3).Width = 160
     
            ' --- Affichage des boutons dans les colonnes 4 et 5 
            utilisateurs.DATA_USER.Columns.Insert(4, boutonmodifier)
            utilisateurs.DATA_USER.Columns.Insert(5, boutonsupprimer)
            utilisateurs.DATA_USER.Columns(4).Width = 85
            utilisateurs.DATA_USER.Columns(5).Width = 90
     
            MessageBox.Show(utilisateurs.DATA_USER.Columns(5).HeaderText)
     
        End Sub
    La ligne de fin : MessageBox.Show(utilisateurs.DATA_USER.Columns(5).HeaderText)
    est un mouchard pour voir le tracé d'initialisation.

    Donc la première fois que je clique sur mon bouton qui affiche mon formulaire utilisateurs mon mouchard s'affiche correctement.

    Mais lorsque j'ouvre un autre formulaire dans mon PANEL et que je souhaite revenir sur le formulaire UTILISATEUR, le mouchard ne s'affiche pas. Et même j'irai plus loin, j'ai mis un mouchard dans le LOAD de mon formulaire UTILISATEURS et il ne s'affiche même pas avec le utilisateurs.show().


    Pouvez vous m'aider?


    Merci d'avance pour votre aide,

    .Matt

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Salut,

    Mais lorsque j'ouvre un autre formulaire dans mon PANEL et que je souhaite revenir sur le formulaire UTILISATEUR, le mouchard ne s'affiche pas. Et même j'irai plus loin, j'ai mis un mouchard dans le LOAD de mon formulaire UTILISATEURS et il ne s'affiche même pas avec le utilisateurs.show().
    Lorsque tu ouvre un autre panel ton formulaire ne se recharge pas donc ton "mouchard" présent dans le load n'apparait pas, ce qui est normal. (A moins que j'ai mal compris)
    As-tu mis des points d'arrets afin de voir comment se déroulait ton code ?

    Lola

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    Non je n'ai jamais utilisé des points d'arrêts.

    Comment je peux faire pour en faire?


    .Matt

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    En effet je viens de créer des points d'arrêt sur mon LOAD et en effet il ne charge qu'une seule fois.
    la deuxième fois il n'appelle pas le LOAD.

    Mais j'ai mis aussi sur le utilisateur.show() et là il y passe toujours.
    Mais comment faire pour qu'il charge à chaque fois le LOAD?


    Merci,

    .Matt

  5. #5
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    En fait pour faire fonctionner à chaque fois le load il faut que la page se recharge à chaque fois (et pas seulement le formulaire), or si j'ai bien compris c'est pas ce que tu souhaites. Tu devrais donc plutot mettre ton code au niveau du formulaire en lui même (après ca dépend de comment il est constitué). Pour savoir où le mettre tu dois te demander :

    Quelle action doit être faite pour que ce code ce déclenche ?
    --> une fois la réponse trouvée tu mets en place le bon évènement

    Si tu souhaites quand même charger à chaque fois le load (et donc revenir à tes paramètres par défaut à chaque fois) il faut que tu fasse un refresh de ta page.

    J'espère que tu vas pouvoir avancer avec ça...
    Lola

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    Je te remercie pour tes précisions.
    Mais j'ai contourné le truc en créant un bouton de MAJ sur le formulaire qui met à jour directement le formulaire.


    Merci pour ton aide ,

    .Matt

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/01/2009, 19h07
  2. Réponses: 2
    Dernier message: 04/01/2008, 15h05
  3. Problème d'impression sur formulaire
    Par mmanta1 dans le forum IHM
    Réponses: 9
    Dernier message: 29/06/2007, 13h18
  4. Problème d'affichage sur formulaire
    Par PAUL87 dans le forum Access
    Réponses: 3
    Dernier message: 27/06/2006, 23h08
  5. problème d'actualisation sur formulaire access
    Par abhleza dans le forum Access
    Réponses: 5
    Dernier message: 31/03/2006, 08h07

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