Masquer un groupe de colonnes dans JSLDans l'interface manuelle, vous pouvez cliquer sur un groupe de colonnes puis masquer/afficher toutes les colonnes du groupe en un seul clic (ou deux/trois clics si l'état caché est mixte).
Qu'est-ce qu'un JSL simple qui accomplit la même chose par script ?
Mes tentatives de scénariser tout cela me semblent étranges.
Re : Masquer un groupe de colonnes dans JSLVoici une complication : certaines des colonnes de mes groupes dérivent d'une jointure virtuelle. Alors quand j'effectue un < sur ces groupes particuliers, la liste qui en résulte ressemble à ceci :
group = {:LocalColumnA, Referenced Column("ForeignColumnA", Referenced Column("ForeignColumnB", Reference(Column(:ForeignLinkReferenceColumnA), …}et le groupe< l'action ne réussit que sur les colonnes locales, pas sur les colonnes étrangères (virtuellement jointes).
Pourtant, lorsque je fais cela dans l'interface manuelle, les colonnes virtuellement jointes répondent très bien à une sélection manuelle du menu Masquer/Afficher. Aaargh.
Re : Masquer un groupe de colonnes dans JSLVoici un script qui fonctionne.La restriction actuelle est qu'il agit sur le premier groupe trouvé, mais c'est un contournement facile.
Names Default To Here( 1 );
dt = Current Data Table();
groupNames = dt << get column groups names;
group = dt << get column group( groupnames[1] ) << select;
For( i = 1, i <= N Items( group ), i++,
dt:((dt << get selected columns)[i]) << hide( 1 )
);
Un autre membre de la communauté peut avoir un moyen de retirer la boucle For() du code, mais je n'ai pas pu en trouver.