|
| TableCherche avec une Table filtrée |
| Débuté par khlid, 21 déc. 2025 16:22 - 1 réponse |
| |
| | | |
|
| |
| Posté le 21 décembre 2025 - 16:22 |
Bjr a tous SVP Filtre sur une colonne Valeurs commençant par "G" toutes les lignes commencent par "G" puis TableCherche "commencePar" sur la colonne valeur = "Bact" TableCherche me donne une valeur et selectionn une ligne fausse que faire merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 302 messages |
|
| Posté le 22 décembre 2025 - 10:41 |
Bonjour,
De ce que j'en sais, les filtres ne sont pas cumulatifs. C'est pourquoi on utilise souvent des tables alimentées par des requêtes paramétrées.
Réponse de CoPilot : En WinDev, il n’existe pas de fonction native pour appliquer directement un filtre automatique sur deux colonnes en même temps dans un champ Table. Cependant, il y a plusieurs approches simples pour contourner cette limite.
1️⃣ Colonne masquée avec concaténation (solution la plus courante)
Créez une colonne invisible dans votre Table. Lors du chargement des données, concaténez les valeurs des deux colonnes que vous voulez filtrer. Appliquez ensuite TableActiveFiltre() uniquement sur cette colonne masquée.
POUR TOUT MaTable MaTable.ColonneMasquee = MaTable.Nom + " " + MaTable.Ville FIN
TableActiveFiltre(MaTable, "ColonneMasquee", "*recherche*")
2️⃣ Filtre manuel avec TableFiltre() Vous pouvez écrire une condition personnalisée qui combine deux colonnes :
TableFiltre(MaTable, "Nom~='*recherche*' OU Ville~='*recherche*'")
3️⃣ Filtrage en mémoire (Table par programmation) Si votre Table est chargée en mémoire, vous pouvez filtrer via un parcours et masquer les lignes qui ne correspondent pas :
POUR i = MaTable..Occurrence À 1 PAS -1 SI PAS (MaTable[i].Nom~="*recherche*" OU MaTable[i].Ville~="*recherche*") ALORS TableSupprimeLigne(MaTable, i) FIN FIN 💡 Astuce : La méthode de la colonne masquée est souvent la plus performante, surtout avec un grand volume de données, car elle évite de multiplier les conditions de filtrage.
Suite plus détaillée sur demande à CoPilot 
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | | | |
| | |
|