J'essaie d'appeler le menu Déplacer les colonnes sélectionnées à partir d'une interface graphique.
Bien que ce code l'appelle, il ne réorganise pas la table (probablement en raison d'une mauvaise utilisation de MoveSelectedColumns ...)
MoveButtonPress=Function({this},
// colListData is a Filter Col Selector in a GUI
selectedElements = colListData << GetSelected;
DataTable1 << move selected columns(selectedElements, after()); // TODO fix this
colListData << Reset; //refresh selector
colListData << NameContains (" "); // reactivates filter
);
J'ai un peu modifié le code pour utiliser "GetSelectedColumns" plutôt que "Get Selected". S'il vous plaît laissez-moi savoir si cela fonctionne pour vous?
DataTable1=Open("$SAMPLE_DATA/Big Class.jmp");
nw=New Window("Move Selected Columns button",
Button Box("Move Selected Columns",
selectedElements = DataTable1 << GetSelectedColumns;
DataTable1 << move selected columns(selectedElements, after(:name));
)
);Je pense que vous obtenez l'erreur "mot clé non reconnu" car la fonctionnalité "Déplacer les colonnes sélectionnées" nécessite une référence de colonne en entrée et non un nom de colonne. Veuillez regarder le code ci-dessous. J'ai ajouté des fonctionnalités, notamment la possibilité de choisir une colonne "après". Est-ce plus utile?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window( "Move Selected Columns button",
H List Box(
V List Box(
Text Box( "Select Columns to Move" ),
columns_to_move = Col List Box( Data Table( dt ), all )
),
V List Box(
Text Box( "Before Before or After Selected Column" ),
after_column_list = Col List Box( Data Table( dt ), all )
)
),
H List Box(
Button Box( "Move To First",
MoveColumns = columns_to_move << GetSelected;//Get List Of Column Names
dt << Select Columns( MoveColumns );//Select Columns
colList = {};//List to hold Column References
For( i = 1, i <= N Items( MoveColumns ), i++,
colList[i] = Column( dt, MoveColumns[i] )//For-loop used to convert list of Column Names to Column References
);
dt << move selected columns( colList, To First );//Move Columns to First
),
Button Box( "Move To Last",
MoveColumns = columns_to_move << GetSelected;//Get List Of Column Names
dt << Select Columns( MoveColumns );//Select Columns
colList = {};//List to hold Column References
For( i = 1, i <= N Items( MoveColumns ), i++,
colList[i] = Column( dt, MoveColumns[i] )
);
dt << move selected columns( colList, To Last );//Move Columns to First
),
Button Box( "Move After Column",
MoveColumns = columns_to_move << GetSelected;//Get List Of Column Names
dt << Select Columns( MoveColumns );//Select Columns
aftercol_string = after_column_list << GetSelected;//Get Column to move after
aftercol_ref = Column( dt, aftercol_string[1] );//Column reference - only first item in case someone chose more than one
colList = {};//List to hold Column References
For( i = 1, i <= N Items( MoveColumns ), i++,
colList[i] = Column( dt, MoveColumns[i] )
);
dt << move selected columns( colList, after( aftercol_ref ) );
)
)
);