Estoy tratando de llamar al menú Mover columnas seleccionadas desde una GUI.
Si bien este código lo llama, no reorganiza la tabla (probablemente debido al uso incorrecto 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
);
Cambié un poco el código para usar "GetSelectedColumns" en lugar de "Get Selected". Por favor, avíseme si esto funciona para usted?
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));
)
);Creo que está recibiendo el error "palabra clave no reconocida" porque la función "Mover columnas seleccionadas" requiere una referencia de columna como entrada, y no un nombre de columna. Por favor, eche un vistazo al código a continuación. Agregué algunas funcionalidades, incluida la capacidad de elegir una columna "después". ¿Es esto más útil?
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 ) );
)
)
);