테이블 상자를 스크롤하여 특정 행 표시<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요 - 저는 수천 개의 행을 포함하는 테이블 상자를 가지고 있으므로 해당 행 중 처음 몇 개만 포함된 창에서 직접 볼 수 있습니다. 나머지를 보려면 수직 스크롤 막대를 사용하여 테이블 상자를 스크롤해야 합니다.해당 테이블 상자 내의 어딘가에는 특정 기준을 충족하는 행이 있습니다.간단한 스크립트를 통해 해당 행 번호가 무엇인지 알려주고 Set Selected Rows() 속성이 이를 강조 표시하므로 테이블에서 해당 행까지 쉽게 스크롤하여 찾을 수 있습니다. 하지만 저는 테이블이 있는 것을 선호합니다. 상자가 자동으로 올바른 지점으로 스크롤되어 행이 표시됩니다.
스크립트를 작성하는 방법이 있나요?"속성 표시" 명령으로 나열된 기능을 수행할 수 있는 것처럼 보이는 속성을 볼 수 없습니다.
많은 감사
Re: 테이블 상자를 스크롤하여 특정 행을 표시합니다.죄송합니다. 제 무선 키보드라는 걸 방금 깨달았습니다.컴퓨터 키보드로 하면 제대로 작동합니다.
Re: 테이블 상자를 스크롤하여 특정 행을 표시합니다.안녕하세요, 저는 다음 행을 강조 표시하기 위해 수년 동안 F7을 사용해 왔는데 지금은 작동하지 않습니다.이 문제를 왜 또는 어떻게 해결할 수 있는지 아시나요?
감사해요,
축가
Re: 테이블 상자를 스크롤하여 특정 행을 표시합니다.안녕. 저는 최근에 같은 질문을 받고 JMP 지원팀에 연락했습니다(제공: Jasean). 그들의 해결책은 아래에 나와 있으며, 다른 사람이 이 문제를 겪을 경우를 대비해 공유하고 싶었습니다. 기본적으로 TableBox에서는 스크롤 위치를 제어할 수 없지만 VScrollBox를 사용하면 제어할 수 있습니다. 따라서 TableBox에서 스크롤을 끄고 대신 VScrollBox에 테이블 상자를 묶습니다.
Names Default to Here(1);
long_lis = {};
for each({i}, 1::100, InsertInto(long_lis, "Item " || Char(i)));
scb = StringColBox("Long List", long_lis);
tbl = TableBox(scb);
tbl << Set Scrollable(0, 0); //Turning off scrolling in the tbl box
tbl << Set Selectable Rows;
goto_bb = ButtonBox("Go To Item",
toSelect = neb << Get;
ItemCount = NItems(long_lis);
tbl << Set Selected Rows(EvalList({toSelect})); // select desired item
{h_extent, v_extent} = vsb << Get Scroll Extents; // in pixels
// determine portion of list above selected item and scroll to that relative position
portion = toSelect / ItemCount;
if(portion < 0.05, portion = 0);
vsb << Set Scroll Position(0, portion * v_extent); // in pixels
);
winny = NewWindow("test",
goto_bb, neb = Number Edit Box(50),
vsb = VScrollBox(Size(360), tbl) // set the size as number of pixels
);
TableBox에 직접 컨트롤을 내장하는 것만큼 깨끗하지는 않지만 작동한다는 데 동의합니다. 도움이 되었기를 바랍니다.
-니클스
Re: 테이블 상자를 스크롤하여 특정 행을 표시합니다.특정 위치로 스크롤하기 위해 테이블 상자에 보낼 수 있는 메시지가 있는지 모르겠습니다.나는 그런 요청을 넣었다. 지원@jmp.com , 하지만 아직까지 아무것도 본 적이 없습니다.
내가 틀렸다는 것을 증명할 수 있는 누군가가 있기를 바랍니다.
Re: 테이블 상자를 스크롤하여 특정 행을 표시합니다.안녕 빌,
난 두려워하지; 이는 JSL 스크립트를 사용하여 수행할 수 있어야 하는 작업입니다. 다른 작업이 실행되는 동안 사용자 측에서 수행할 작업의 필요성을 제거하려고 하기 때문입니다.예를 들어 내 스크립트에서 사용자가 봐야 할 행이 12345행이라고 이미 결정했지만 테이블 상자의 처음 20개 행만 화면에 표시되는 경우 기본적으로 여기서 할 수 있는 작업은 보내기입니다. 테이블 상자에 "12345 행까지 아래로 스크롤하여 해당 행이 창 내에 표시됩니다"라는 메시지가 표시됩니다.
이를 수행하는 한 가지 대안 방법은 단순히 행 12345의 내용을 추출하여 별도로 표시하는 것입니다. 그러나 해당 위치 주변의 테이블 내에 포함된 다른 정보가 있기 때문에 관련 행까지 표시를 아래로 스크롤하는 것을 선호합니다. 사용자의 관심을 끌 수 있습니다.
실제로 이 작업을 수행할 수 없을 수도 있습니다. 이 경우 다른 방법을 찾아보겠습니다. 하지만 먼저 물어볼 가치가 있다고 느꼈습니다.
많은 감사
Re: 테이블 상자를 스크롤하여 특정 행을 표시합니다.안녕하세요 dqr2 님,
데이터를 그래프로 작성하고 있나요?그렇다면 그래프에서 관심 있는 데이터 포인트나 포인트 집합을 강조표시할 수 있습니다.데이터 테이블로 돌아가 F7 키를 누르세요.F7을 입력하면 선택한 포인트 목록의 첫 번째 데이터 포인트에 대한 테이블 행으로 이동합니다.그런 다음 다시 F7을 눌러 다음 지점으로 이동할 수 있습니다.이전 지점으로 돌아가려면 F6을 누르세요.
최상의,
청구서