Spaltengruppe in JSL ausblendenIn der manuellen Benutzeroberfläche können Sie auf eine Spaltengruppe klicken und dann alle Spalten in der Gruppe mit einem einzigen Klick ausblenden/einblenden (oder mit zwei/drei Klicks, wenn der ausgeblendete Status gemischt ist).
Was ist eine einfache JSL, die dasselbe per Skript erreicht?
Meine Versuche, das Ganze in ein Drehbuch zu schreiben, erscheinen mir allesamt seltsam.
Betreff: Spaltengruppe in JSL ausblendenHier ist eine Komplikation: Einige der Spalten in meinen Gruppen stammen aus einer virtuellen Verknüpfung. Wenn ich also eine durchführe < Für diese bestimmten Gruppen sieht die resultierende Liste wie folgt aus:
group = {:LocalColumnA, Referenced Column("ForeignColumnA", Referenced Column("ForeignColumnB", Reference(Column(:ForeignLinkReferenceColumnA), …}und das Gruppe< Die Aktion ist nur für die lokalen Spalten erfolgreich, nicht für die fremden (virtuell verbundenen) Spalten.
Wenn ich dies jedoch in der manuellen Benutzeroberfläche mache, reagieren die virtuell verbundenen Spalten problemlos auf eine manuelle Menüauswahl zum Ein-/Ausblenden. Aaargh.
Betreff: Spaltengruppe in JSL ausblendenHier ist ein Skript, das funktioniert.Die aktuelle Einschränkung besteht darin, dass es auf die erste gefundene Gruppe wirkt, aber das lässt sich leicht umgehen.
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 )
);
Ein anderes Community-Mitglied hat möglicherweise eine Möglichkeit, die For()-Schleife aus dem Code zu entfernen, aber ich konnte keine finden.