Chargement ToolStripMenu

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - Modifié par cs_JMO le 28/07/2015 à 09:47
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 - 30 juil. 2015 à 17:10
Bonjour le Forum,

Actuellement, pour initialiser une vingtaine de ToolStripMenu, j'utilise
        ' Load ToolStripMenuEnv
        ToolStripMenuEnv.DropDown.Items.AddRange((From a In MyJobs.Select(Function(j) j.Environnement).Distinct()
                     Order By a Ascending
                     Select New ToolStripMenuItem(a)).ToArray())

        ' Load ToolStripMenuApp
        ToolStripMenuApp.DropDown.Items.AddRange((From a In MyJobs.Select(Function(j) j.Application).Distinct()
                     Order By a Ascending
                     Select New ToolStripMenuItem(a)).ToArray())
'etc ....


Est-ce possible de charger ces ToolStripMenu via une collection ???
Private DicoToolStrip As New Dictionary(Of String, String)

        DicoToolStrip.Add(ToolStripMenuEnv.Name, "Environnement")
        DicoToolStrip.Add(ToolStripMenuApp.Name, "Application")
        DicoToolStrip.Add(ToolStripMenuJob.Name, "Job")
'etc ...
et pour le load
        For Each kvp As KeyValuePair(Of String, String) In DicoToolStrip

Dim MyVar = (From a In MyJobs.Select(Function(j) j.kvp.Key).Distinct()
Order By a Ascending
Select New ToolStripMenuItem(a)).ToArray()
kvp.Value.DropDown.Items.AddRange(MyVar)

Next kvp
Evidemment, j'ai des erreurs sur j.kvp.Key et kvp.Value.DropDown
Erreur 1
La résolution de surcharge a échoué, car aucun 'Select' accessible ne peut être appelé avec ces arguments :

Méthode d'extension 'Public Function Select(Of TResult)(selector As System.Func(Of JOB, Integer, TResult)) As System.Collections.Generic.IEnumerable(Of TResult)'
définie dans 'System.Linq.Enumerable' : La fonction imbriquée n'a pas une signature compatible avec le délégué 'System.Func(Of JOB, Integer, TResult)'.

Méthode d'extension 'Public Function Select(Of TResult)(selector As System.Func(Of JOB, Integer, TResult)) As System.Collections.Generic.IEnumerable(Of TResult)'
définie dans 'System.Linq.Enumerable' : Impossible de déduire le ou les types de données du ou des paramètres de type à partir de ces arguments.
La spécification explicite du ou des types de données peut permettre de corriger cette erreur.

EDIT: Précision du langage dans la coloration syntaxique.
Merci à Whismeril d'avoir déplacer ce post dans la section VB.Net

5 réponses

Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
28 juil. 2015 à 10:15
Bonjour

Est-ce possible de charger ces ToolStripMenu via une collection ???

C'est ce que tu fais.
Cette partie du code
(From a In MyJobs.Select(Function(j) j.Environnement).Distinct()
                     Order By a Ascending
                     Select New ToolStripMenuItem(a)).ToArray()
crée une collection castée en tableau, que tu ajoutes d'un coup avec la méthode AddRange.

Je ne comprends pas ce que tu cherches à faire, mais ce que tu as codé ensuite ne peux pas marcher.

Dans une requête, Function(j) veut dire que j est la variable d'itération en cours. Dans ton cas c'est un Job.

Or tu demandes j.kvp..... kvp est une variable définie plus haut, pas une propriété de la classe Job, donc VS te dit qu'il ne trouve pas de membre qui s'appelle kvp dans la classe Job.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
Modifié par Whismeril le 28/07/2015 à 10:35
Bonjour Whismeril,

Merci pour tes explications.

Au lancement du formulaire, j'initialise la vingtaine de menu avec
        ' Load ToolStripMenuEnv
        ToolStripMenuEnv.DropDown.Items.AddRange((From a In MyJobs.Select(Function(j) j.Environnement).Distinct()
                     Order By a Ascending
                     Select New ToolStripMenuItem(a)).ToArray())

        ' Load ToolStripMenuApp
        ToolStripMenuApp.DropDown.Items.AddRange((From a In MyJobs.Select(Function(j) j.Application).Distinct()
                     Order By a Ascending
                     Select New ToolStripMenuItem(a)).ToArray())
Puis, l'utilisateur peux faire plusieurs choix.

S'il choisit dans le menu Environnement l'item RECETTE, je recalcule les menus en fonction de cette sélection avec MyFilter. Puis l'utilisateur peut faire d'autres sélections.
    Private Sub ToolStripMenu_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) _
                Handles ToolStripMenuEnv.DropDownItemClicked, ToolStripMenuApp.DropDownItemClicked, ToolStripMenuJob.DropDownItemClicked,
                        ToolStripMenuDDO.DropDownItemClicked, ToolStripMenuServeur.DropDownItemClicked, ToolStripMenuTypeJob.DropDownItemClicked,
                        ToolStripMenuCommentaireApp.DropDownItemClicked, ToolStripMenuCommentaireJob.DropDownItemClicked, ToolStripMenuScript.DropDownItemClicked,
                        ToolStripMenuParametresScript.DropDownItemClicked, ToolStripMenuProfil.DropDownItemClicked, ToolStripMenuTrame.DropDownItemClicked,
                        ToolStripMenuModeExecEnv.DropDownItemClicked, ToolStripMenuModeExecApp.DropDownItemClicked, ToolStripMenuModeExecJob.DropDownItemClicked

        'MessageBox.Show(sender.ToString & vbTab & e.ClickedItem.Text)
        Select Case sender.ToString
            Case ToolStripMenuEnv.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Environnement = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Environnement = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Me.DataGridView1.DataSource = MyFilter

                ToolStripMenuEnv.DropDownItems.Clear()
                ToolStripMenuEnv.DropDown.Items.Add(e.ClickedItem.Text())

                ToolStripMenuApp.DropDownItems.Clear()
                ToolStripMenuApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Application).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuJob.DropDownItems.Clear()
                ToolStripMenuJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Job).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuDDO.DropDownItems.Clear()
                ToolStripMenuDDO.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuServeur.DropDownItems.Clear()
                ToolStripMenuServeur.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuTypeJob.DropDownItems.Clear()
                ToolStripMenuTypeJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuCommentaireApp.DropDownItems.Clear()
                ToolStripMenuCommentaireApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuCommentaireJob.DropDownItems.Clear()
                ToolStripMenuCommentaireJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuScript.DropDownItems.Clear()
                ToolStripMenuScript.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Script).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuParametresScript.DropDownItems.Clear()
                ToolStripMenuParametresScript.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuModeExecEnv.DropDownItems.Clear()
                ToolStripMenuModeExecEnv.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuModeExecApp.DropDownItems.Clear()
                ToolStripMenuModeExecApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuModeExecJob.DropDownItems.Clear()
                ToolStripMenuModeExecJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuProfil.DropDownItems.Clear()
                ToolStripMenuProfil.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuTrame.DropDownItems.Clear()
                ToolStripMenuTrame.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuCyclique.DropDownItems.Clear()
                ToolStripMenuCyclique.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuAlarme.DropDownItems.Clear()
                ToolStripMenuAlarme.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuQueue.DropDownItems.Clear()
                ToolStripMenuQueue.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuRessourceApp.DropDownItems.Clear()
                ToolStripMenuRessourceApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuRessourcesJob.DropDownItems.Clear()
                ToolStripMenuRessourcesJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

            Case ToolStripMenuApp.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Application = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Application = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

Je me retrouve avec x lignes répétitives dans le script.
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656 > cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018
28 juil. 2015 à 10:35
Pense à preciser le langage pour la la coloration syntaxique.
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656 > cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018
28 juil. 2015 à 10:38
trop complexe pour le temps que j'ai à t'accorder ce matin.
Je reviens plus tard.
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656 > Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024
28 juil. 2015 à 13:46
Peux tu poster des copies d'écran, j'ai du mal à me faire une idée de ce que tu veux, et pas beaucoup de temps
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
28 juil. 2015 à 14:46
Screnshot du formulaire
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
28 juil. 2015 à 17:40
Même zoomé on y voit pas grand chose.
Peux tu mettre l'image sur ci joint?
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
28 juil. 2015 à 18:14
1ere image
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
28 juil. 2015 à 18:17
2ème image
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
29 juil. 2015 à 07:24
Bonjour, donc le but est que le contenu de ta 2eme barre de menu change en fonction de ce qui est choisi dans Fichier/Création Plan de Production?

C'est bien ça?
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
29 juil. 2015 à 08:19
Bonjour Whismeril,

La 1ère barre (Fichier, Edition) sert à choisir le client (parcours d'un folder pour récupérer les fichiers xml).

Quand un client est sélectionné, la deuxième barre (Environnement\Application .....Divers) contient tous les items du client sélectionné. Tous les items se trouvent dans le DataGridView1 et donc dans listeOf MyJobs.

Exemple de choix:
Dans le toolstrip Serveur, il y a tous les serveurs possibles du client.
Un clic sur le nom d'un serveur va mettre recréer la datagridview (en affichant tous les jobs utilisant ce serveur et mettre à jour tous les items des menus.
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656 > cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018
29 juil. 2015 à 18:24
Bonsoir
Dans le toolstrip Serveur, il y a tous les serveurs possibles du client.
Un clic sur le nom d'un serveur va mettre recréer la datagridview (en affichant tous les jobs utilisant ce serveur
jusque là OK.

et mettre à jour tous les items des menus.
là pas OK.
Si dans ton menu tu sélectionnes un serveur, comment doivent évoluer les autres menus?
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27 > Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024
Modifié par Whismeril le 29/07/2015 à 20:30
Dans le DataGridView initial, il y a par exemple 1200 lignes.
Env / App / Job / DDO / Serveur etc...
RECETTE D0001H01 D0001H0101 locashost .....
RECETTE D0001H01 D0001H0102 server_x

Si l'on choisit le serveur localhost :
- l'environnement RECETTE sera affiché si un job utilise le serveur localhost;
- l'environnement PRODUCTION sera affiché si un job utilise le serveur localhost;
etc ...
d'où MyFilter = MyFilter avec le select sur le menu cliqué

C'est ce nombre de lignes ci-dessous que je souhaiterai simplifier.
Nota:
Pour le select Case itemcliqué
j'utilise Add
                ToolStripMenuEnv.DropDownItems.Clear()
                ToolStripMenuEnv.DropDown.Items.Add(e.ClickedItem.Text())
et 
AddRange pour les autres
                ToolStripMenuApp.DropDownItems.Clear()
                ToolStripMenuApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Application).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuJob.DropDownItems.Clear()
                ToolStripMenuJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Job).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

Private Sub ToolStripMenu_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) _
                Handles ToolStripMenuEnv.DropDownItemClicked, ToolStripMenuApp.DropDownItemClicked, ToolStripMenuJob.DropDownItemClicked,
                        ToolStripMenuDDO.DropDownItemClicked, ToolStripMenuServeur.DropDownItemClicked, ToolStripMenuTypeJob.DropDownItemClicked,
                        ToolStripMenuCommentaireApp.DropDownItemClicked, ToolStripMenuCommentaireJob.DropDownItemClicked, ToolStripMenuScript.DropDownItemClicked,
                        ToolStripMenuParametresScript.DropDownItemClicked, ToolStripMenuProfil.DropDownItemClicked, ToolStripMenuTrame.DropDownItemClicked,
                        ToolStripMenuModeExecEnv.DropDownItemClicked, ToolStripMenuModeExecApp.DropDownItemClicked, ToolStripMenuModeExecJob.DropDownItemClicked

        'MessageBox.Show(sender.ToString & vbTab & e.ClickedItem.Text)
        Select Case sender.ToString
            Case ToolStripMenuEnv.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Environnement = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Environnement = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Me.DataGridView1.DataSource = MyFilter

                ToolStripMenuEnv.DropDownItems.Clear()
                ToolStripMenuEnv.DropDown.Items.Add(e.ClickedItem.Text())

                ToolStripMenuApp.DropDownItems.Clear()
                ToolStripMenuApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Application).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuJob.DropDownItems.Clear()
                ToolStripMenuJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Job).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuDDO.DropDownItems.Clear()
                ToolStripMenuDDO.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuServeur.DropDownItems.Clear()
                ToolStripMenuServeur.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuTypeJob.DropDownItems.Clear()
                ToolStripMenuTypeJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuCommentaireApp.DropDownItems.Clear()
                ToolStripMenuCommentaireApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuCommentaireJob.DropDownItems.Clear()
                ToolStripMenuCommentaireJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuScript.DropDownItems.Clear()
                ToolStripMenuScript.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Script).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuParametresScript.DropDownItems.Clear()
                ToolStripMenuParametresScript.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuModeExecEnv.DropDownItems.Clear()
                ToolStripMenuModeExecEnv.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuModeExecApp.DropDownItems.Clear()
                ToolStripMenuModeExecApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuModeExecJob.DropDownItems.Clear()
                ToolStripMenuModeExecJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuProfil.DropDownItems.Clear()
                ToolStripMenuProfil.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuTrame.DropDownItems.Clear()
                ToolStripMenuTrame.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuCyclique.DropDownItems.Clear()
                ToolStripMenuCyclique.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuAlarme.DropDownItems.Clear()
                ToolStripMenuAlarme.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuQueue.DropDownItems.Clear()
                ToolStripMenuQueue.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuRessourceApp.DropDownItems.Clear()
                ToolStripMenuRessourceApp.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

                ToolStripMenuRessourcesJob.DropDownItems.Clear()
                ToolStripMenuRessourcesJob.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                        Select New ToolStripMenuItem(a)).ToArray())

            Case ToolStripMenuApp.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Application = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Application = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)

            Case ToolStripMenuJob.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Job = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Job = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)

            Case ToolStripMenuDDO.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.DDO = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.DDO = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)

            Case ToolStripMenuServeur.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Serveur = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Serveur = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Order By a Ascending
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)

            Case ToolStripMenuTypeJob.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.TypeJob = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.TypeJob = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Order By a Ascending
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)

            Case ToolStripMenuCommentaireApp.Text  'ToolStripMenuCommentaireApp
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.CommentaireApp = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.CommentaireApp = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Order By a Ascending
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)

            Case ToolStripMenuCommentaireJob.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.CommentaireJob = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.CommentaireJob = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Order By a Ascending
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyScript = (From a In MyFilter.Select(Function(j) j.Script).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.AddRange(MyScript)
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)


            Case ToolStripMenuScript.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.Script = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.Script = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Order By a Ascending
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyParameter = (From a In MyFilter.Select(Function(j) j.ParametresScript).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecEnv = (From a In MyFilter.Select(Function(j) j.ModeExecEnv).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecApp = (From a In MyFilter.Select(Function(j) j.ModeExecApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyModeExecJob = (From a In MyFilter.Select(Function(j) j.ModeExecJob).Distinct()
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyProfil = (From a In MyFilter.Select(Function(j) j.Profil).Distinct()
                              Order By a Ascending
                              Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTrame = (From a In MyFilter.Select(Function(j) j.Trame).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCyclicJob = (From a In MyFilter.Select(Function(j) j.Cyclique).Distinct()
                                   Order By a Ascending
                                   Select New ToolStripMenuItem(a)).ToArray()
                Dim MyAlarm = (From a In MyFilter.Select(Function(j) j.Alarme).Distinct()
                               Order By a Ascending
                               Select New ToolStripMenuItem(a)).ToArray()
                Dim MyQueueBatch = (From a In MyFilter.Select(Function(j) j.Queue).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceApp = (From a In MyFilter.Select(Function(j) j.RessourceApp).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Dim MyResourceJob = (From a In MyFilter.Select(Function(j) j.RessourcesJob).Distinct()
                                     Order By a Ascending
                                     Select New ToolStripMenuItem(a)).ToArray()
                Me.DataGridView1.DataSource = MyFilter
                ToolStripMenuEnv.DropDownItems.Clear() : ToolStripMenuEnv.DropDown.Items.AddRange(MyEnv)
                ToolStripMenuApp.DropDownItems.Clear() : ToolStripMenuApp.DropDown.Items.AddRange(MyApp)
                ToolStripMenuJob.DropDownItems.Clear() : ToolStripMenuJob.DropDown.Items.AddRange(MyJob)
                ToolStripMenuDDO.DropDownItems.Clear() : ToolStripMenuDDO.DropDown.Items.AddRange(MyDDO)
                ToolStripMenuServeur.DropDownItems.Clear() : ToolStripMenuServeur.DropDown.Items.AddRange(MyServer)
                ToolStripMenuTypeJob.DropDownItems.Clear() : ToolStripMenuTypeJob.DropDown.Items.AddRange(MyTypeJob)
                ToolStripMenuCommentaireApp.DropDownItems.Clear() : ToolStripMenuCommentaireApp.DropDown.Items.AddRange(MyCommentaireApp)
                ToolStripMenuCommentaireJob.DropDownItems.Clear() : ToolStripMenuCommentaireJob.DropDown.Items.AddRange(MyCommentaireJob)
                ToolStripMenuScript.DropDownItems.Clear() : ToolStripMenuScript.DropDown.Items.Add(e.ClickedItem.Text())
                ToolStripMenuParametresScript.DropDownItems.Clear() : ToolStripMenuParametresScript.DropDown.Items.AddRange(MyParameter)
                ToolStripMenuModeExecEnv.DropDownItems.Clear() : ToolStripMenuModeExecEnv.DropDown.Items.AddRange(MyModeExecEnv)
                ToolStripMenuModeExecApp.DropDownItems.Clear() : ToolStripMenuModeExecApp.DropDown.Items.AddRange(MyModeExecApp)
                ToolStripMenuModeExecJob.DropDownItems.Clear() : ToolStripMenuModeExecJob.DropDown.Items.AddRange(MyModeExecJob)
                ToolStripMenuProfil.DropDownItems.Clear() : ToolStripMenuProfil.DropDown.Items.AddRange(MyProfil)
                ToolStripMenuTrame.DropDownItems.Clear() : ToolStripMenuTrame.DropDown.Items.AddRange(MyTrame)
                ToolStripMenuCyclique.DropDownItems.Clear() : ToolStripMenuCyclique.DropDown.Items.AddRange(MyCyclicJob)
                ToolStripMenuAlarme.DropDownItems.Clear() : ToolStripMenuAlarme.DropDown.Items.AddRange(MyAlarm)
                ToolStripMenuQueue.DropDownItems.Clear() : ToolStripMenuQueue.DropDown.Items.AddRange(MyQueueBatch)
                ToolStripMenuRessourceApp.DropDownItems.Clear() : ToolStripMenuRessourceApp.DropDown.Items.AddRange(MyResourceApp)
                ToolStripMenuRessourcesJob.DropDownItems.Clear() : ToolStripMenuRessourcesJob.DropDown.Items.AddRange(MyResourceJob)


            Case ToolStripMenuParametresScript.Text
                If ChoiceMenu = True Then
                    MyFilter = MyFilter.Where(Function(c) (c.ParametresScript = e.ClickedItem.Text())).ToList()
                Else
                    MyFilter = MyJobs.Where(Function(c) (c.ParametresScript = e.ClickedItem.Text())).ToList()
                    ChoiceMenu = True
                End If

                Dim MyEnv = (From a In MyFilter.Select(Function(j) j.Environnement).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyApp = (From a In MyFilter.Select(Function(j) j.Application).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyJob = (From a In MyFilter.Select(Function(j) j.Job).Distinct()
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyDDO = (From a In MyFilter.Select(Function(j) j.DDO).Distinct()
                             Order By a Ascending
                             Select New ToolStripMenuItem(a)).ToArray()
                Dim MyServer = (From a In MyFilter.Select(Function(j) j.Serveur).Distinct()
                                Order By a Ascending
                                Select New ToolStripMenuItem(a)).ToArray()
                Dim MyTypeJob = (From a In MyFilter.Select(Function(j) j.TypeJob).Distinct()
                                 Order By a Ascending
                                 Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireApp = (From a In MyFilter.Select(Function(j) j.CommentaireApp).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
                Dim MyCommentaireJob = (From a In MyFilter.Select(Function(j) j.CommentaireJob).Distinct()
                                    Order By a Ascending
                                    Select New ToolStripMenuItem(a)).ToArray()
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656 > cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018
29 juil. 2015 à 20:29
J'avais déjà travaillé dans cette hypothèse, j'ai crée un dictionnaire la clé est le nom de la propriété, la valeur le ToolStripMenuItem.
Il faut le remplir avant d'afficher le formulaire.

Ensuite dans ToolStripMenu_ItemClicked, je fais une itération de éléments de ce dictionnaire, et utilise la réflexion pour créer la requête.

Cependant, je n'ai pas pu tester, avec les 3 enregistrements que tu avais mis en exemple dans un précédent message.

    Dim mesMenus As Dictionary(Of String, ToolStripMenuItem)

        'Dictionnaire liant le nom de la propriété au menu à initialiser avant
        mesMenus.Add("Envirronement", ToolStripMenuEnv)
        mesMenus.Add("Application", ToolStripMenuApp)
        mesMenus.Add("Job", ToolStripMenuJob)



    Private Sub ToolStripMenu_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) _
                Handles ToolStripMenuEnv.DropDownItemClicked, ToolStripMenuApp.DropDownItemClicked, ToolStripMenuJob.DropDownItemClicked
        'MessageBox.Show(sender.ToString & vbTab & e.ClickedItem.Text)


        Dim monMenu As ToolStripMenuItem = sender


        For Each key As String In mesMenus.Keys

            Dim menu As ToolStripMenuItem = mesMenus.Item(key)
            menu.DropDownItems.Clear()

            If menu Is monMenu Then
                menu.DropDownItems.Add(e.ClickedItem.Text())

            Else
                Dim maProp As PropertyInfo = GetType(Job).GetProperties().First(Function(p) p.Name = "Host")'nécessite Imports System.Reflection
                menu.DropDown.Items.AddRange((From a In MyFilter.Select(Function(j) maProp.GetValue(j).ToString()).Distinct()
                                                Select New ToolStripMenuItem(a)).ToArray())

            End If
        Next
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27 > Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024
29 juil. 2015 à 20:39
Bonsoir Whismeril,

D'abord désolé de la présentation du précédent post.
Je vais analyser ton code et "bouquiner" MSDN pour Reflexion.

Merci et bonne soirée,
0
Rejoignez-nous