Hallo,
Ich arbeite an einem Projekt, bei dem Daten in einer Datentabelle kategorisiert werden und Benutzer über eine von mir erstellte Schnittstelle eine bestimmte Option auswählen.
Was ich möchte, dass das folgende Skript tut, ist:
- Im linken Optionsfeld, Auswahl 1, wählt die Person das Alter aus.
- In der Datentabelle werden alle Zeilen, die nicht dieses Alter haben, ausgeblendet und in der Datentabelle ausgeschlossen.
- Im rechten Optionsfeld, Auswahl 2, wird es dynamisch aktualisiert, um nur Optionen anzuzeigen, die nicht ausgeblendet oder ausgeschlossen sind, und enthält eine Liste mit Namen zur Auswahl.
- Sobald diese beiden Optionen ausgewählt sind, bleibt nur eine Zeile übrig, deren Zeilennummer in my_row zurückgegeben wird.
Wobei ich Hilfe möchte:
- Zeilen werden nicht automatisch ausgeblendet und ausgeschlossen, wenn Optionen aus Auswahl 1 ausgewählt werden, obwohl show(1) und include(1) in den Filterbegriffen enthalten sind
- Radiobox 2 wird als Ergebnis der Wahl 1 nicht dynamisch aktualisiert
- Beide "arbeiten nicht zusammen", Auswahl 2 überschreibt Zeilenzustände von Auswahl 1 und kann aus jeder Zeile auswählen. Dies liegt wahrscheinlich daran, dass es nicht dynamisch aktualisiert wird (?)
Verweise
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Clear Row States;
New Window( "Example",
Data Filter Context Box(
H List Box(
Panel Box( "Choice 1",
dt << Data Filter(
Add Filter(
columns( :age ),
Display( :age, Size( 140, 185 ), "Radio Box Display" ),
Mode( Select( 1 ), Show( 1 ), Include( 1 ) )
) ) ),
Panel Box( "Choice 2",
H List Box(
Data Filter Context Box(
V List Box(
dt << Data Filter(
Add Filter(
columns( :name ),
Display( :name, Size( 160, 150 ), Radio Box Display ),
Mode( Select( 1 ) )
) ) ) ) ) ) ) ) );
my_row = dt << Get selected rows;
show( my_row );