Colonnes de mise en forme conditionnelle dans une zone de tableauSalut - Je souhaite appliquer une seule règle de mise en forme conditionnelle à deux colonnes de données dans une zone de table. J'ai mis en place ci-dessous un exemple utilisant l'ensemble de données Big Class qui illustre le problème, dans lequel je peux facilement faire ce que je veux dans une table de données, mais produire le même effet dans une Table Box semble être un peu plus délicat.
Le mécanisme de création du format conditionnel pour une colonne d'une zone de table est complètement différent de celui nécessaire pour une table de données et nécessite que je définisse une règle dans mes préférences, comme indiqué. Cette partie est assez simple, mais je ne vois pas de moyen d'appliquer cette règle à une colonne autre que celle à laquelle la règle se rapporte directement. Peut-il être fait?
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Color-code blue all pupils whose height is at least 60, with everybody else purple;
// First color every cell in both the name and height columns purple;
Column( dt, "name" ) << color cells( RGB Color( 255, 0, 255 ), Index( 1, N Row( dt ) ) );
Column( dt, "height" ) << color cells( RGB Color( 255, 0, 255 ), Index( 1, N Row( dt ) ) );
// Now find everybody whose height is at least 60, and color them blue;
CellsToPaint = dt << get rows where( :Height >= 60 );
Show( CellsToPaint );
// Color them all blue;
Column( dt, "name" ) << color cells( RGB Color( 100, 100, 255 ), CellsToPaint );
Column( dt, "height" ) << color cells( RGB Color( 100, 100, 255 ), CellsToPaint );
// Now I'll try to produce the same effect with those two columns in a table box;
// Create a copy of the Big Class data table in a table box;
My_TB = Table Box( <<SET shade="" alternate="" rows=""></SET>
Re : Mise en forme conditionnelle des colonnes dans une zone de tableauMerci beaucoup Jim - c'est ingénieux !
Juste pour mémoire, j'ajoute ci-dessous une copie d'une version modifiée de mon script original qui intègre votre recommandation sur la façon de résoudre ce problème. Merci encore - cela va être extrêmement utile pour moi.
Clear Log();
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Color-code blue all pupils whose height is at least 60, with everybody else purple;
// First color every cell in both the name and height columns purple;
Column( dt, "name" ) << color cells( RGB Color( 255, 0, 255 ), Index( 1, N Row( dt ) ) );
Column( dt, "height" ) << color cells( RGB Color( 255, 0, 255 ), Index( 1, N Row( dt ) ) );
// Now find everybody whose height is at least 60, and color them blue;
CellsToPaint = dt << get rows where( :Height >= 60 );
Show( CellsToPaint );
// Color them all blue;
Column( dt, "name" ) << color cells( RGB Color( 100, 100, 255 ), CellsToPaint );
Column( dt, "height" ) << color cells( RGB Color( 100, 100, 255 ), CellsToPaint );
// Now I'll produce the same effect with those two columns in a table box using Jim's suggestion;
// Export it to the journal as a data table, which converts it into a TableBox in the process;
dt << journal;
// Pull it back again as a TableBox, putting into a window with any other objects that I might want to incorporate;
nw = New Window( "My Window",
Lineup Box( N Col( 1 ),
Text Box( "Clever, huh?" ),
Border Box( Current Journal()[Table Box( 1 )], <<SIDES></SIDES>
Re : Mise en forme conditionnelle des colonnes dans une zone de tableauJe n'ai pas de solution pour créer une règle de mise en forme conditionnelle. Cependant, j'ai accompli ce que vous vouliez, en déplaçant la table de données colorée dans un journal, puis en ajoutant TableBox(1) de ce journal dans l'application que je crée
