Afficher le filtre de table de données en tant que zone d'édition de texte simple (pas de liste ni de curseur)Tous,
J'aimerais savoir s'il existe un moyen de faire du filtre de données une zone d'édition de texte ou une zone d'édition de nombre au lieu de l'affichage par défaut du type de liste ou de la vue Slider .
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 )) )
);Le code ci-dessus produit ceci : ( Slider View)

Au lieu de cela, en remodelant la colonne en tant que données ordinales, je peux générer l'affichage LIst pour le filtre de données
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 )) )
);Le code ci-dessus génère ceci :

Au lieu de cela, j'aimerais que le filtre de données s'affiche sous la forme d'une zone d'édition de texte/boîte d'édition numérique. Je me souviens d'avoir emprunté cette voie à un moment donné, mais je ne me souviens pas du résultat - si quelqu'un peut y répondre - merci de bien vouloir le partager.
Meilleur
Uday
Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)Fait intéressant, la mentalité de « garder les choses simples » est la raison exacte pour laquelle je serait pensez à le coder.Pour un utilisateur JSL chevronné qui connaît les entrées numériques, et a déjà appris à ne pas abaisser la limite supérieure avant d'abaisser la limite inférieure, et sait ce que signifient Afficher, Inclure et Inverser, un code simple est probablement meilleur.Pour le meilleur utilisateur Cependant, s'ils ne veulent voir qu'un seul point de données à la fois parmi une longue liste de dates possibles, il est difficile de faire plus simple qu'une case bien décrite dans laquelle vous entrez une date.
Une interface graphique devrait être difficile à expliquer car vous n'avez jamais eu à y penser auparavant, pas parce qu'elle nécessite des étapes spécifiques dans un ordre spécifique.
Bien sûr, cela pourrait ne pas concerner le problème d'Uday à portée de main.
Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)Voici un GIF qui montre cliquer sur la valeur dans le curseur pour la définir.

Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)J'aime garder les choses simples. La "vue du curseur" à laquelle vous vous référez montre les limites supérieure et inférieure du filtre actuel. Vous n'avez pas besoin d'utiliser le curseur pour modifier la plage. Vous pouvez également cliquer sur la valeur actuelle (nombre) et en saisir une nouvelle. De cette façon, vous pouvez utiliser l'objet de filtre de données (simple) et éviter un codage supplémentaire qui pourrait ne pas vraiment ajouter de nouvelles fonctionnalités.
Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)@Mark_Bailey : pouvez-vous s'il vous plaît développer ou démontrer ce que vous dites ?
Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)Saviez-vous que vous pouvez également cliquer sur l'une des limites actuelles dans le filtre de données et en saisir une nouvelle ?
Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)Voici une façon.Je ne sais pas s'il est possible de lire la valeur de la zone d'édition de texte en utilisant un format d'entrée (comme dans les cellules du tableau de données) mais j'aime la flexibilité de 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>
Modifié : capture d'écran oubliée.
Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)@ih ,
Dans l'exemple que vous avez fourni, pouvez-vous utiliser la colonne "Mois/Année" à la place ? Lorsque vous avez une date - cette approche ne nécessiterait-elle pas une boîte d'édition numérique pour le mois, le jour et l'année respectivement ? Ou cela peut-il être fait avec la boîte d'édition de numéro ? Le seul moyen auquel je peux penser est de traduire le texte en un nombre égal à la date , veuillez me faire savoir s'il existe une meilleure alternative .Re : Afficher le filtre de la table de données sous la forme d'une simple zone d'édition de texte (pas de liste ni de curseur)Vous pouvez définir vous-même la clause where dans le filtre de données lorsque la valeur d'une zone d'édition numérique change et masquer l'interface utilisateur normale :

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>