Filtrage d'une List Box()Je cherche un moyen simple de filtrer un objet List Box(). L'exemple le plus simple que je puisse trouver est celui-ci :
Names Default To Here( 1 );
win = New Window( "Test", lbox = List Box( {"orange", "red", "green", "blue"} ) );Maintenant, je veux ajouter une boîte de "filtre" au-dessus de la liste des couleurs, similaire au filtre que vous pouvez obtenir au-dessus d'une liste de colonnes comme celle-ci :

J'espérais qu'il y avait un moyen simple de vider un filtre sur la liste stupide, mais je ne trouve rien.
Merci pour toute aide!
Modélisation statistique avancéeÉtudes de consommation et de marchéOrganisation du contenuAccès aux donnéesFusion et nettoyage des donnéesExploration et visualisation des donnéesPersonnalisation de masseRe : Filtrer une ListBox()Je suis tombé sur les bons termes de recherche et j'ai trouvé ceci:
Rendre le champ de recherche actif dans la colonne Script de recherche
Et a pu forcer la boîte de filtre.Voici ce que j'ai fini avec:
Names Default To Here( 1 );
dset_names = {"orange", "red", "green", "blue"};
// make a temporary table with empty columns
dt_list = New Table( "tmp_list_table", private );
For( ci = 1, ci <= N Items( dset_names ), ci++,
dt_list << New Column( dset_names[ci] )
);
colnames = {};
win = New Window( "Choose columns to import",
<<MODAL>",
dispcols << Append( lb << Get Selected );
colnames = dispcols << Get Items;
),
Button Box( "<- Remove Selected",
dispcols << Remove Selected;
colnames = dispcols << Get Items;
)
),
dispcols = List Box( {}, width( 250 ), nlines( 10 ) )
)
);
// show what was chosen!
Show( colnames );</MODAL>Re : Filtrer une ListBox()Une dernière question - y a-t-il un message pour forcer le filtre à s'activer ? j'ai essayé comme
Filter Col Selector( list, width(250), << Show Filter)
peut-être une question plus générale est, comment puis-je trouver une liste de messages autorisés par un objet ?
Re : Filtrer une ListBox()Voir mon entrée modifiée ci-dessus.Re : Filtrer une ListBox()Oui, c'était l'une de mes autres idées s'il n'y avait pas d'argument spécial à la zone de liste pour qu'elle affiche un filtre. Je vais essayer ça.Re : Filtrer une ListBox()Vous pouvez utiliser le Filter Col Selector() avec un peu d'imagination

names default to here(1);
dtList = New Table("invisible",private,
new column("Orange",character),
new column("Red",character),
new column("Green",character),
new column("Blue",character),
);
New Window( "Col List Box Example", fontobj = lb = Filter Col Selector( width( 250 ) ) );