Question
filtre de recherche dans un tableau
- Grannic
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 11 ans 1 mois #18919
par Grannic
filtre de recherche dans un tableau a été créé par Grannic
bonjour,
je viens aujourd'hui soliciter l'aide de la communauté.
il m'avait semblé voir un post traitant de ce sujet mais impossible de remettre la main dessus.
je me suis mis au powershell et je rencontre un problème de filtrage dans un tableau, et malgré diverse recherche je n'ai pas trouver et réussi à le faire.
j'ai importer une partie du contenue d'une table access de manière a l'afficher dans un tableau d'une interface en powershell.
je souhaiterais lorsque l'on saisie un mot (dans une textbox), qu'il y ai un filtre qui se fasse automatiquement dans le tableau sur le contenue d'une colonne en fonction des caractères saisie, comme on pourrait l'avoir dans \"out-gridview\".
Je souhaiterais savoir si quelqu'un dispose d'un exemple de ce type, et serais d'accord de le partager.
Je vous remercie par avance pour votre aide.
je viens aujourd'hui soliciter l'aide de la communauté.
il m'avait semblé voir un post traitant de ce sujet mais impossible de remettre la main dessus.
je me suis mis au powershell et je rencontre un problème de filtrage dans un tableau, et malgré diverse recherche je n'ai pas trouver et réussi à le faire.
j'ai importer une partie du contenue d'une table access de manière a l'afficher dans un tableau d'une interface en powershell.
je souhaiterais lorsque l'on saisie un mot (dans une textbox), qu'il y ai un filtre qui se fasse automatiquement dans le tableau sur le contenue d'une colonne en fonction des caractères saisie, comme on pourrait l'avoir dans \"out-gridview\".
Je souhaiterais savoir si quelqu'un dispose d'un exemple de ce type, et serais d'accord de le partager.
Je vous remercie par avance pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 1 mois #18920
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:filtre de recherche dans un tableau
Salut,
cela ressemble à l'auto-complétion :
[code:1]
################################################################################
#
# Nom : autocompletion.ps1
# Version : 1.2.1
#
# Révision : $Rev: 180 $
# Auteur :
# Date : 1 août 2010
#
# Généré sous PowerShell V1.0.0.0
# Appel : ..\..\convert-Form FrmTest17AutoCompletion.Designer.cs autocompletion.ps1 -sta
#
################################################################################
#Sous Posh V2 utiliser le paramètre -STA, sous Posh v1 utiliser le cmdlet additionnel Invoke-Apartment.
if ([System.Threading.Thread]::CurrentThread.GetApartmentState() -ne [System.Threading.ApartmentState]::«»STA )
{Throw \"Le script courant nécessite que le modèle du thread actuel soit [System.Threading.ApartmentState]::«»STA (Single Thread Apartment).\" }
# Chargement des assemblies externes
[void][Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void][Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)
$comboBox1 = new-object System.Windows.Forms.ComboBox
$lblSource = new-object System.Windows.Forms.Label
#
# comboBox1
#
$comboBox1.AutoCompleteCustomSource.AddRange(@(
\"Apache_srv\",
\"Exchange\",
\"Mail\",
\"Serveur_1\",
\"Serveur_2\",
\"Serveur_n\",
\"WM_1\",
\"WM_2\"«»))
$comboBox1.AutoCompleteMode =[System.Windows.Forms.AutoCompleteMode]::«»SuggestAppend
$comboBox1.AutoCompleteSource =[System.Windows.Forms.AutoCompleteSource]::CustomSource
$comboBox1.FormattingEnabled = $true
$comboBox1.Location = new-object System.Drawing.Point(12, 21)
$comboBox1.Name = \"comboBox1\"
$comboBox1.Size = new-object System.Drawing.Size(121, 21)
$comboBox1.TabIndex = 0
#
# lblSource
#
$lblSource.AutoSize = $true
$lblSource.Location = new-object System.Drawing.Point(13, 2)
$lblSource.Name = \"lblSource\"
$lblSource.Size = new-object System.Drawing.Size(50, 13)
$lblSource.TabIndex = 1
$lblSource.Text = \"Source :\"
#
$FrmTest17AutoCompletion = new-object System.Windows.Forms.form
#
$FrmTest17AutoCompletion.ClientSize = new-object System.Drawing.Size(182, 79)
$FrmTest17AutoCompletion.Controls.Add($lblSource)
$FrmTest17AutoCompletion.Controls.Add($comboBox1)
$FrmTest17AutoCompletion.Name = \"FrmTest17AutoCompletion\"
$FrmTest17AutoCompletion.Text = \"Form1\"
function OnFormClosing_FrmTest17AutoCompletion($Sender,$e){
# $this est égal au paramètre sender (object)
# $_ est égal au paramètre e (eventarg)
# Déterminer la raison de la fermeture :
# if (($_).CloseReason -eq [System.Windows.Forms.CloseReason]::UserClosing)
#Autorise la fermeture
($_).Cancel= $False
}
$FrmTest17AutoCompletion.Add_FormClosing( { OnFormClosing_FrmTest17AutoCompletion $FrmTest17AutoCompletion $EventArgs} )
$FrmTest17AutoCompletion.Add_Shown({$FrmTest17AutoCompletion.Activate()})
$ModalResult=$FrmTest17AutoCompletion.ShowDialog()
#Libération de la Form
$FrmTest17AutoCompletion.Dispose()
[/code:1]
cela ressemble à l'auto-complétion :
[code:1]
################################################################################
#
# Nom : autocompletion.ps1
# Version : 1.2.1
#
# Révision : $Rev: 180 $
# Auteur :
# Date : 1 août 2010
#
# Généré sous PowerShell V1.0.0.0
# Appel : ..\..\convert-Form FrmTest17AutoCompletion.Designer.cs autocompletion.ps1 -sta
#
################################################################################
#Sous Posh V2 utiliser le paramètre -STA, sous Posh v1 utiliser le cmdlet additionnel Invoke-Apartment.
if ([System.Threading.Thread]::CurrentThread.GetApartmentState() -ne [System.Threading.ApartmentState]::«»STA )
{Throw \"Le script courant nécessite que le modèle du thread actuel soit [System.Threading.ApartmentState]::«»STA (Single Thread Apartment).\" }
# Chargement des assemblies externes
[void][Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void][Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)
$comboBox1 = new-object System.Windows.Forms.ComboBox
$lblSource = new-object System.Windows.Forms.Label
#
# comboBox1
#
$comboBox1.AutoCompleteCustomSource.AddRange(@(
\"Apache_srv\",
\"Exchange\",
\"Mail\",
\"Serveur_1\",
\"Serveur_2\",
\"Serveur_n\",
\"WM_1\",
\"WM_2\"«»))
$comboBox1.AutoCompleteMode =[System.Windows.Forms.AutoCompleteMode]::«»SuggestAppend
$comboBox1.AutoCompleteSource =[System.Windows.Forms.AutoCompleteSource]::CustomSource
$comboBox1.FormattingEnabled = $true
$comboBox1.Location = new-object System.Drawing.Point(12, 21)
$comboBox1.Name = \"comboBox1\"
$comboBox1.Size = new-object System.Drawing.Size(121, 21)
$comboBox1.TabIndex = 0
#
# lblSource
#
$lblSource.AutoSize = $true
$lblSource.Location = new-object System.Drawing.Point(13, 2)
$lblSource.Name = \"lblSource\"
$lblSource.Size = new-object System.Drawing.Size(50, 13)
$lblSource.TabIndex = 1
$lblSource.Text = \"Source :\"
#
$FrmTest17AutoCompletion = new-object System.Windows.Forms.form
#
$FrmTest17AutoCompletion.ClientSize = new-object System.Drawing.Size(182, 79)
$FrmTest17AutoCompletion.Controls.Add($lblSource)
$FrmTest17AutoCompletion.Controls.Add($comboBox1)
$FrmTest17AutoCompletion.Name = \"FrmTest17AutoCompletion\"
$FrmTest17AutoCompletion.Text = \"Form1\"
function OnFormClosing_FrmTest17AutoCompletion($Sender,$e){
# $this est égal au paramètre sender (object)
# $_ est égal au paramètre e (eventarg)
# Déterminer la raison de la fermeture :
# if (($_).CloseReason -eq [System.Windows.Forms.CloseReason]::UserClosing)
#Autorise la fermeture
($_).Cancel= $False
}
$FrmTest17AutoCompletion.Add_FormClosing( { OnFormClosing_FrmTest17AutoCompletion $FrmTest17AutoCompletion $EventArgs} )
$FrmTest17AutoCompletion.Add_Shown({$FrmTest17AutoCompletion.Activate()})
$ModalResult=$FrmTest17AutoCompletion.ShowDialog()
#Libération de la Form
$FrmTest17AutoCompletion.Dispose()
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Grannic
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 11 ans 1 mois #18925
par Grannic
Réponse de Grannic sur le sujet Re:filtre de recherche dans un tableau
bonsoir et merci pour ce retour, je vais de suite tester et je vous tiendrais informer de mon avancé
Connexion ou Créer un compte pour participer à la conversation.
- Grannic
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 11 ans 1 mois #18931
par Grannic
Réponse de Grannic sur le sujet Re:filtre de recherche dans un tableau
bonjour,
grâce à Laurent je pense avoir compris le principe de l'auto-complétion. et je l'en remercie.
cependant je me heurte a une difficulté.
j'ai essayé de lier mon champ de recherche, au information présente dans la deuxième colonne de mon tableau. et là cela ne fonctionne pas.
j'avais espérer ensuite que selon ma saisie cela fasse office de filtre et que je ne conserve que les lignes du tableau correspondant à ce que j'ai saisie.
[code:1]$recherche = New-Object System.Windows.Forms.combobox
$recherche.AutoCompleteCustomSource.AddRange($Datagridview.name($colunm2))
$recherche.AutoCompleteMode =[System.Windows.Forms.AutoCompleteMode]::«»SuggestAppend
$recherche.AutoCompleteSource =[System.Windows.Forms.AutoCompleteSource]::listitems
$recherche.Location = New-Object Drawing.Point 120,40
$recherche.Size = New-Object System.Drawing.Size(300,30)
$recherche.text = \"recherche\"
$recherche.TabIndex = 0
[/code:1]
et mon tableau est de ce type
[code:1]$Datagridview = New-Object System.Windows.Forms.datagridview
$Datagridview.AutoSize = $false
$Datagridview.Location = New-Object Drawing.Point 20,100
$Datagridview.Size = New-Object System.Drawing.Size(1050,350)
$Datagridview.Name = 'Zone de Résultat'
$Datagridview.ColumnCount = 4
$Datagridview.ColumnHeadersVisible = $true
$Datagridvien_t_M8.AutoResizeColumnHeadersHeight() = $false
$Column1=New-Object System.Windows.Forms.datagridview
$Column2=New-Object System.Windows.Forms.datagridview
$Column3=New-Object System.Windows.Forms.datagridview
$Column4=New-Object System.Windows.Forms.datagridview
$Datagridview.Columns.Add($Column1)
$Datagridview.Columns.Add($Column2)
$Datagridview.Columns.Add($Column3)
$Datagridview.Columns.Add($Column4)
$Datagridview.Columns[0].Name = \"NOM\"
$Datagridview.Columns[1].Name = \"Prenom\"
$Datagridview.Columns[2].Name = \"catégorie\"
$Datagridview.Columns[3].Name = \"niveau\"
$Datagridview.Columns[0].width = 70
$Datagridview.Columns[1].width = 220
$Datagridview.Columns[2].width = 70
$Datagridview.Columns[3].width = 70
$peronnes= Get-Accessbasedonnee $Request_participant $Connect $liaison | foreach {$Datagridview.Rows.Add($_.nom,$_.prenom,$_.catégorie,$_.niveau)}
[/code:1]
en vous remerciant pour votre aide<br><br>Message édité par: Grannic, à: 4/02/15 12:55
grâce à Laurent je pense avoir compris le principe de l'auto-complétion. et je l'en remercie.
cependant je me heurte a une difficulté.
j'ai essayé de lier mon champ de recherche, au information présente dans la deuxième colonne de mon tableau. et là cela ne fonctionne pas.
j'avais espérer ensuite que selon ma saisie cela fasse office de filtre et que je ne conserve que les lignes du tableau correspondant à ce que j'ai saisie.
[code:1]$recherche = New-Object System.Windows.Forms.combobox
$recherche.AutoCompleteCustomSource.AddRange($Datagridview.name($colunm2))
$recherche.AutoCompleteMode =[System.Windows.Forms.AutoCompleteMode]::«»SuggestAppend
$recherche.AutoCompleteSource =[System.Windows.Forms.AutoCompleteSource]::listitems
$recherche.Location = New-Object Drawing.Point 120,40
$recherche.Size = New-Object System.Drawing.Size(300,30)
$recherche.text = \"recherche\"
$recherche.TabIndex = 0
[/code:1]
et mon tableau est de ce type
[code:1]$Datagridview = New-Object System.Windows.Forms.datagridview
$Datagridview.AutoSize = $false
$Datagridview.Location = New-Object Drawing.Point 20,100
$Datagridview.Size = New-Object System.Drawing.Size(1050,350)
$Datagridview.Name = 'Zone de Résultat'
$Datagridview.ColumnCount = 4
$Datagridview.ColumnHeadersVisible = $true
$Datagridvien_t_M8.AutoResizeColumnHeadersHeight() = $false
$Column1=New-Object System.Windows.Forms.datagridview
$Column2=New-Object System.Windows.Forms.datagridview
$Column3=New-Object System.Windows.Forms.datagridview
$Column4=New-Object System.Windows.Forms.datagridview
$Datagridview.Columns.Add($Column1)
$Datagridview.Columns.Add($Column2)
$Datagridview.Columns.Add($Column3)
$Datagridview.Columns.Add($Column4)
$Datagridview.Columns[0].Name = \"NOM\"
$Datagridview.Columns[1].Name = \"Prenom\"
$Datagridview.Columns[2].Name = \"catégorie\"
$Datagridview.Columns[3].Name = \"niveau\"
$Datagridview.Columns[0].width = 70
$Datagridview.Columns[1].width = 220
$Datagridview.Columns[2].width = 70
$Datagridview.Columns[3].width = 70
$peronnes= Get-Accessbasedonnee $Request_participant $Connect $liaison | foreach {$Datagridview.Rows.Add($_.nom,$_.prenom,$_.catégorie,$_.niveau)}
[/code:1]
en vous remerciant pour votre aide<br><br>Message édité par: Grannic, à: 4/02/15 12:55
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 1 mois #18932
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:filtre de recherche dans un tableau
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Grannic
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 11 ans 1 mois #18954
par Grannic
Réponse de Grannic sur le sujet Re:filtre de recherche dans un tableau
un big merci laurent:)

après deux jours de combat acharné j'ai réussi a mettre ma colonne en source de ma recherche dans mon champ de saisie.
et c'était bien ma source qui posais problème.
Je suis en train maintenant de voir pour filtrer les lignes de mon tableau en fonction de ma saisie.
je progresse petit a petit.
je posterais le code prochainement.
après deux jours de combat acharné j'ai réussi a mettre ma colonne en source de ma recherche dans mon champ de saisie.
et c'était bien ma source qui posais problème.
Je suis en train maintenant de voir pour filtrer les lignes de mon tableau en fonction de ma saisie.
je progresse petit a petit.
je posterais le code prochainement.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- filtre de recherche dans un tableau