Colonne di formattazione condizionale in una casella di tabellaSalve, desidero applicare una singola regola di formattazione condizionale a due colonne di dati in una tabella. Di seguito ho impostato un esempio utilizzando il set di dati Big Class che illustra il problema, in cui posso facilmente fare ciò che voglio all'interno di una tabella di dati, ma produrre lo stesso effetto all'interno di una Table Box sembra essere un po' più complicato.
Il meccanismo per creare il formato condizionale per una colonna di una Table Box è completamente diverso da quello necessario per una tabella di dati e richiede che io imposti una regola all'interno delle mie Preferenze come mostrato. Questa parte è abbastanza semplice, ma non riesco a vedere un modo per applicare quella regola a una colonna diversa da quella a cui la regola si riferisce direttamente. Si può fare?
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>
Oggetto: formattazione condizionale delle colonne in una tabellaMolte grazie Jim - è geniale!
Solo per la cronaca, sto aggiungendo di seguito una copia di una versione modificata del mio script originale che incorpora la tua raccomandazione su come risolvere questo problema. Grazie ancora - questo mi sarà straordinariamente utile.
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>
Oggetto: formattazione condizionale delle colonne in una tabellaNon ho una soluzione che creerà una regola di formattazione condizionale. Tuttavia, ho realizzato ciò che desideri, spostando la tabella dei dati colorata in un diario e quindi aggiungendo TableBox (1) da quel diario nell'applicazione che sto creando
