Ordre de tri dans la fenêtre de tri personnaliséeComment la fenêtre de tri JMP transmet-elle le tri ascendant et descendant des boutons à la zone de liste Col (ListBoxBox ?) jusqu'au bouton OK ?
Je dois créer une fenêtre de tri personnalisée avec des options limitées pour les tableaux de données d'un rapport. J'ai réussi à réaliser la majeure partie du travail, soit en créant une fenêtre de tri de A à Z, soit en utilisant la fenêtre de tri JMP. Voici un exemple avec cette dernière méthode.
How do I get order_list == ????????; from the Sort Window?
Il est facile de trier les colonnes avec l'outil « Obtenir les éléments ». Comment faire pour que les directions associées aux icônes de tri ascendant et descendant apparaissent avant le type de données et le nom de la colonne dans la zone de liste des colonnes ?

Voici un exemple de code.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Sort(dt);
sort_window = Get Window( "Sort" );
sort_window[1][1][1][3][1] << Delete Box();
sort_window[1][1][1][2][1][2] << Delete Box();
sort_window[1][1][1][2][3][1][5] << Delete Box();
sort_window[1][1][1][2][3][1][4] << Delete Box();
sort_window[1][1][1][2][3][1][3] << Delete Box();
sort_window[1][1][1][2][3][1][2] << Delete Box();
sort_window[1][1][1][2][3][1][1] << Delete Box();
sort_window[1][1][1][2][2][2] << Delete Box();
selected_column_box = sort_window[1][1][1][2][2][1][1][2];
sort_window[1][1][1][2][3][1] << append( Button Box( " OK ",
Print("OK clicked");
sel_list = selected_column_box << Get Items;
sel_string = sel_list[1];
For( i = 2, i <= N Items(sel_list), i++,
sel_string = sel_string || ", " || sel_list[i]
);
//// For Testing
// order_list = {"Ascending", "Ascending"};
order_list == ????????;
order_string = order_list[1];
For( i = 2, i <= N Items(order_list), i++,
order_string = order_string || ", " || order_list[i]
);
sort_statement = "dt << Sort( By(^sel_string^), Order(^order_string^), Replace Table);";
Eval Insert Into( sort_statement );
Eval( Parse( sort_statement ) );
, <
<SET icon=""></SET>
Thanks for any suggestions.
<BR />
<LINGO-LABS id="lingo-labs-319114" slang="en-US" mode="UPDATE">
<LINGO-LABEL>Personnalisation de masse</LINGO-LABEL>
</LINGO-LABS>
Re : Ordre de tri dans la fenêtre de tri personnaliséMerci à Wendy Murphrey du support technique JMP de m'avoir donné des suggestions pour m'aider à faire ce que je veux.
Bien que je sois toujours intéressé à savoir comment les éléments de la fenêtre de tri accèdent aux éléments ascendants et descendants, je n'en ai pas besoin. Quiconque a une réponse à cette question, n'hésitez pas à me le faire savoir.
Quoi qu'il en soit, mon objectif est de trier les tableaux dans les onglets de rapport. Ces tables sont liées à des tables invisibles où le tri est réellement effectué. Cependant, je dois forcer le remplacement des tables, afin que les utilisateurs ne créent pas des tonnes de tables non suivies lorsqu'ils travaillent dans les rapports.
Laissant de côté toute la création de rapports et la gestion des tableaux de rapport dans les onglets, voici une mise à jour sur le cœur du tri des tableaux invisibles en arrière-plan qui devrait fonctionner pour nos tableaux de rapport.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Sort(dt);
sort_window = Get Window( "Sort" );
// For stability, collapse, don't delete window elements
sort_window[1][1][1][3][1] << Visibility( "Collapse" );
sort_window[1][1][1][2][3][1][4] << Visibility( "Collapse" );
sort_window[1][1][1][2][2][2] << Visibility( "Collapse" );
sort_window[1][1][1][2][1][2] << Visibility( "Collapse" );
sort_window << OnClose(
dt1 = Get Data Table( 1 );
// Include name check in case users figure out a way
// to replace tables themselves, despite collapsing that option above
old_name = dt << Get Name();
new_name = dt1 << Get Name();
if( new_name != old_name,
dt << Update( With( dt1 ) );
Close(dt1, "No Save")
);
);