동적 코딩 문제안녕하세요,
대본을 더욱 역동적으로 만드는 방법에 대한 팁을 찾고 있습니다.
아래 스니펫에서는 동적 버튼이 있는 Col Box()에 추가하는 데이터 테이블 << Get as Report가 있습니다.
이제 문제는 다음과 같습니다. X개의 데이터 테이블을 내 창에 넣어야 하는데, 각 테이블에 동적 버튼을 추가해야 하기 때문에 어떻게 해야 할지 잘 모르겠습니다.
데이터 테이블의 정확한 양은 다를 수 있습니다.
도움을 주셔서 감사합니다
data_window = New Window("Down Time Exceeding 5mins",
<< Size Window( 1000, 600 ),
H List Box(
OutLine Box ("foo",
dt_Rpt = dt_dt << Get as Report();
)
)
);
tb = dt_Rpt[Table Box( 1 )];
tb << append(
bb = col box("Pull Alarms")
);
bblist = {};
for (i = 1, i<=N Rows(dt_dt), i++,
bb_expr = evalinsert("\[bblist[i] = buttonbox("Pull Alarms",
tb << Set Selected Rows(Matrix({^i^}));
dt = Get Data Table( "foo Alarms for rows " || char(^i^));
dt << ShowWindow( 1 );
dt << Bring Window To Front;
)]\");
eval(parse(bb_expr));
bb << append(bblist[i]);
);자동화 및 스크립팅Re: 동적 코딩 문제버튼이 있는 데이터 테이블을 생성하는 함수를 만듭니다.
Define Function( Create_Data_Table_With_Buttons( dt_name, window_title ),
dt_Rpt = dt_name << Get as Report();
tb = dt_Rpt[Table Box( 1 )];
tb << append(
bb = col box("Pull Alarms")
);
bblist = {};
for (i = 1, i <= N Rows(dt_name), i++,
bb_expr = evalinsert("\[bblist[i] = buttonbox("Pull Alarms",
tb << Set Selected Rows(Matrix({^i^}));
dt = Get Data Table( "^window_title^ Alarms for rows " || char(^i^));
dt << ShowWindow( 1 );
dt << Bring Window To Front;
)]\");
eval(parse(bb_expr));
bb << append(bblist[i]);
);
return dt_Rpt;
);
데이터 테이블 이름과 해당 창 제목 목록을 만듭니다.
data_table_info = {
{"dt_1", "Down Time Exceeding 5mins"},
{"dt_2", "Another Data Table1"},
{"dt_3", "Another Data Table2"}
};
루프를 사용하여 데이터 테이블과 버튼이 있는 여러 개의 OutLine 상자를 만듭니다.
data_window = New Window("Multiple Data Tables",
<< Size Window( 1000, 600 ),
H List Box(
V List Box(
for(i = 1, i <= N Items(data_table_info), i++,
OutLine Box(data_table_info[i][2],
Create_Data_Table_With_Buttons(
Eval(data_table_info[i][1]),
data_table_info[i][2]
)
)
)
)
)
);
도움이 되길 바랍니다.
Re: 동적 코딩 문제혹시 이런 것을 찾고 계신가요?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
data_window = New Window("Down Time Exceeding 5mins",
<<SIZE window=""></SIZE>Re: 동적 코딩 문제고맙습니다!! 여러 함수를 사용하는 것에 대해 생각조차 하지 못했습니다. 분석하기 위해 엄청난 두통 문자열을 만들어야 할 것 같았지만, 이건 완벽하게 작동했습니다.
내 쿼리 목록의 각 문자열에 대한 데이터 테이블을 만드는 함수가 있습니다. 그런 다음 dt를 다른 함수에 전달합니다.
내 창에 보고서를 생성하는 Lbox를 추가합니다.
window = expr(
nw = New Window("Down Time Exceeding 5mins",
<< Size Window( 1500, 800 ),
Lbox = Line Up Box(Spacing(5),
N Col(3),
)
);
);
eval(window);
nw <