Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Alle,
Ich würde gerne wissen, ob es eine Möglichkeit gibt, den Datenfilter zu einem Textbearbeitungsfeld oder einem Zahlenbearbeitungsfeld anstelle der standardmäßigen Listentypanzeige oder der Schieberegleransicht zu machen.
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
// Traditional Slider View
dt << Graph Builder(
Size( 814, 714 ),
Variables(
X( :Name( "Month/Year" ) ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter( Conditional, Add Filter( columns( :Month Number ), Display( :Container, Size( 160, 225 ), List Display )) )
);Der obige Code erzeugt dies: (Slider View)

Stattdessen kann ich die LIst-Anzeige für den Datenfilter generieren, indem ich die Spalte als Ordinaldaten umgestalte
Col = Column(dt,"Month Number");
Col << Set Modeling Type("Ordinal");
dt << Graph Builder(
Size( 814, 714 ),
Variables(
X( :Name( "Month/Year" ) ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter( Conditional, Add Filter( columns( :Month Number ), Display( :Container, Size( 160, 225 ), List Display )) )
);Der obige Code generiert dies:

Stattdessen möchte ich den Datenfilter als Textbearbeitungsfeld/Zahlenbearbeitungsfeld angezeigt haben. Ich erinnere mich, dass ich diesen Weg einmal gegangen bin, aber ich erinnere mich nicht an das Ergebnis – wenn jemand darauf eingehen kann – teilen Sie es bitte freundlich mit.
Am besten
Utag
Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Interessanterweise ist die „Halte die Dinge einfach“-Mentalität genau der Grund, warum ich würde erwägen Sie, dies zu codieren.Für einen erfahrenen JSL-Benutzer, der sich mit numerischen Einträgen auskennt und bereits gelernt hat, die obere Grenze nicht zu senken, bevor er die untere Grenze senkt, und der weiß, was Show, Include und Inverse bedeuten, ist einfacher Code wahrscheinlich besser.Für die beste Benutzer Wenn sie jedoch nur einen Datenpunkt nach dem anderen aus einer langen Liste möglicher Daten sehen möchten, ist es erfahrungsgemäß schwer, einfacher zu werden als in einem gut beschriebenen Feld, in das Sie ein Datum eingeben.
Eine GUI sollte schwer zu erklären sein, weil man vorher nie darüber nachdenken musste, nicht weil sie bestimmte Schritte in einer bestimmten Reihenfolge erfordert.
Natürlich bezieht sich dies möglicherweise nicht auf Udays vorliegendes Problem.
Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Hier ist ein GIF, das zeigt, wie Sie auf den Wert im Schieberegler klicken, um ihn einzustellen.

Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Ich halte die Dinge gerne einfach. Die "Schieberegleransicht", auf die Sie sich beziehen, zeigt die Ober- und Untergrenze des aktuellen Filters. Sie müssen den Schieberegler nicht verwenden, um den Bereich zu ändern. Sie können auch auf den aktuellen Wert (Zahl) klicken und einen neuen eingeben. Auf diese Weise können Sie das Datenfilterobjekt (einfach) verwenden und zusätzliche Codierung vermeiden, die möglicherweise nicht wirklich neue Funktionen hinzufügt.
Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)@Mark_Bailey : Können Sie bitte erläutern oder demonstrieren, was Sie sagen?
Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Wussten Sie, dass Sie auch auf einen der aktuellen Grenzwerte im Datenfilter klicken und einen neuen eingeben können?
Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Hier ist ein Weg.Ich bin mir nicht sicher, ob es möglich ist, den Wert des Textbearbeitungsfelds mit einem Eingabeformat (wie in Datentabellenzellen) zu lesen, aber ich mag die Flexibilität von Regex:

Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month and year (mm/yyyy):"),
Text Edit Box( "01/1980",
<<SETFUNCTION></SETFUNCTION>
Editiert: Screenshot vergessen.
Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)@ich h ,
Können Sie in dem von Ihnen bereitgestellten Beispiel stattdessen die Spalte "Monat/Jahr" verwenden? Wenn Sie ein Datum haben - würde dieser Ansatz nicht jeweils ein Zahlenbearbeitungsfeld für Monat, Tag und Jahr erfordern? Oder kann es mit dem Zahlenbearbeitungsfeld gemacht werden? Die einzige Möglichkeit , die mir einfällt , besteht darin , den Text in eine Zahl zu übersetzen , die dem Datum entspricht . Bitte lassen Sie mich wissen , ob es eine bessere Alternative gibt .Betreff: Datentabellenfilter als einfaches Textbearbeitungsfeld anzeigen (nicht Liste, nicht Schieberegler)Sie könnten die Where-Klausel im Datenfilter selbst festlegen, wenn sich der Wert in einem Zahlenbearbeitungsfeld ändert, und die normale Benutzeroberfläche ausblenden:

Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month:"),
Number Edit Box( 1,
<<SETFUNCTION></SETFUNCTION>