Je suis curieux de savoir s'il existe un moyen de faire en sorte qu'une boîte de contexte de filtre de données agisse de manière conditionnelle. Par exemple
dans le script ci-dessous, vous verrez 4 colonnes: DC_7000,: DC_7052,: DC_7100,: DC_7200 cependant il peut y avoir des cas où trois (3) de quatre (4) ne sont pas sélectionnés dans l'ensemble de données. J'ai remarqué que si une colonne n'existe pas, la mise en forme est complètement désactivée comme dans le type de désignation ( "Affichage d'une seule catégorie" ) ne prend pas. J'ai essayé de lancer des déclarations IF mais cela n'a pas du tout fonctionné. Aucune suggestion?
dfcb4_S = Data Filter Context Box(
filter4_S = H List Box(
graph_vlb4_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
::dt_testdata << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
columns(
:wafer_number,
:part_number,
:rownum,
:colnum,
:subrow,
:subcol,
:channel,
:DC_7000,
:DC_7052,
:DC_7100,
:DC_7200,
),
Display( :wafer_number, "Check Box Display" ),
Display( :part_number, "Check Box Display" ),
Display( :rownum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
Display( :colnum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
Display( :subrow, Size( 236, 24 ), Height( 6 ) ),
Display( :subcol, Size( 236, 24 ), Height( 6 ) ),
Display( :channel, "Single Category Display" ),
Display( :DC_7000, "Single Category Display", Find( Set Text( "" ) ) ),
Display( :DC_7052, "Single Category Display", Find( Set Text( "" ) ) ),
Display( :DC_7100, "Single Category Display" ),
Display( :DC_7200, "Single Category Display" )
)
)
)
)
)
)
);
</CODE></PRE><PRE><CODE class=" language-jsl">dfcb4_S = Data Filter Context Box(
filter4_S = H List Box(
graph_vlb4_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
::dt_testdata << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
columns(
:wafer_number,
:part_number,
:rownum,
:colnum,
:subrow,
:subcol,
:channel,
If( Contains( SelectedSetId, "7000" ), :DC_7000 ),
If( Contains( SelectedSetId, "7052" ), :DC_7052 ),
If( Contains( SelectedSetId, "7100" ), :DC_7100 ),
If( Contains( SelectedSetId, "7200" ), :DC_7200 ),
),
Display( :wafer_number, "Check Box Display" ),
Display( :part_number, "Check Box Display" ),
Display( :rownum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
Display( :colnum, Size( 236, 24 ), Height( 6 ), "Blocks Display" ),
Display( :subrow, Size( 236, 24 ), Height( 6 ) ),
Display( :subcol, Size( 236, 24 ), Height( 6 ) ),
Display( :channel, "Single Category Display" ),
Display( :DC_7000, "Single Category Display", Find( Set Text( "" ) ) ),
Display( :DC_7052, "Single Category Display", Find( Set Text( "" ) ) ),
Display( :DC_7100, "Single Category Display" ),
Display( :DC_7200, "Single Category Display" )
If( Contains( SelectedSetId, "7000" ), Display( :DC_7000, "Single Category Display", Find( Set Text( "" ) ) ) ),
If( Contains( SelectedSetId, "7052" ), Display( :DC_7052, "Single Category Display", Find( Set Text( "" ) ) ) ),
If( Contains( SelectedSetId, "7100" ), Display( :DC_7100, "Single Category Display" ) ),
If( Contains( SelectedSetId, "7200" ), Display( :DC_7200, "Single Category Display" ) ),
)
)
)
)
)
)
);<BR /><BR />