Di seguito è riportato un codice illustrativo che visualizza un grafico con un filtro dati locale.
namesDefaultToHere(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
graphContent = VListBox(
dt << Bivariate(
Y(:weight),
X(:height)
)
);
NewWindow("Test",
Data Filter Context Box(
BorderBox(top(20),bottom(20),left(20),right(20),
HListBox(
// local data filter
::df = dt << Data Filter( local,
AddFilter(
columns(:sex),
display(:sex,"List Display")
)
),
// some content
graphContent
)
)
)
);
// define event handler for data filter
::rs = ::df << makeFilterChangeHandler(
function({x},
show("data filter event handler");
show(hptime());
)
);
L'esecuzione di selezioni nel filtro dati attiva il gestore eventi, come previsto.
Tuttavia, il gestore dell'evento viene attivato anche semplicemente passando il mouse sui punti dati nel grafico.Qualcuno ha qualche idea sul motivo per cui ciò accadrebbe?
Un modo per distinguere questi messaggi è testare x==(-1).Questo messaggio dovrebbe probabilmente essere omesso per df<