GUI에서 메뉴 이동 선택된 열을 호출하려고합니다.
이 코드는이를 호출하지만 테이블을 재구성하지는 않습니다 (아마 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
);
"Get Selected"대신 "GetSelectedColumns"를 사용하도록 코드를 약간 변경했습니다. 이것이 당신에게 효과가 있는지 알려주십시오.
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));
)
);"선택한 열 이동"기능에 열 이름이 아닌 입력으로 열 참조가 필요하기 때문에 "인식 할 수없는 키워드"오류가 발생한다고 생각합니다. 아래 코드를 살펴보십시오. "after"열을 선택할 수있는 기능을 포함하여 몇 가지 기능을 추가했습니다. 이게 더 도움이 되나요?
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 ) );
)
)
);