page no. 181338460
- 기능 설명
- 여러 폼에서 같은 조회 조건을 쓸 때, 컨트롤끼리 값과 데이터가 함께 움직이도록 묶어 주는 기능입니다. 이벤트 스크립트를 직접 작성하지 않아도 됩니다.
- 조건 컨트롤을 복사한 뒤 마우스 우클릭 메뉴에서 「연결하여 붙여넣기」를 한 번 선택하면 원본과 사본이 묶이고, 다음 세 가지가 자동으로 처리됩니다. 이렇게 묶인 컨트롤을 링크드 컨트롤이라고 부릅니다.
값 동기화 화면에서 원본 또는 사본의 값을 바꾸면 연결된 모든 컨트롤이 같은 값이 됩니다. 데이터 동기화 데이터소스를 원본에서 1회만 조회한 뒤 사본에 공유하므로 중복 조회가 생기지 않습니다. 변수 일원화 사본을 여러 개 만들어도 SQL 에서는 원본 변수명 하나만 참조하므로, 쿼리를 매번 고칠 필요가 없습니다. 지원 컨트롤
분류 컨트롤 CheckBox CheckBox, RadioButton InputBox TextBox, MaskTextBox, NumberBox, RichTextBox Combo PickList, ComboBox, MultiComboBox, ColorPicker Calendar Daily Calendar, Daily CalendarFromTo
Weekly Calendar, Weekly CalendarFromTo
Monthly Calendar, Monthly CalendarFromTo
Yearly Calendar, Yearly CalendarFromTo
FromTo 계열 달력은 시작 값과 종료 값이 함께 동기화됩니다. 데이터 동기화 (원본 단독 조회) 는 데이터소스를 갖는 ComboBox · MultiComboBox · PickList 등에 적용됩니다.
- 사용 방법
※ 동기화는 i-AUD Designer 의 미리보기 (Preview) 화면과 실행 (Viewer) 화면에서 동작합니다.기능 위치 : i-AUD Designer > [편집] 모드 > 컨트롤 복사 후 우클릭 > 「연결하여 붙여넣기」
- 편집 (Edit) 화면에서 원본으로 사용할 조회 조건 컨트롤 (예 : ComboBox
:VS_PRODUCT) 을 선택하고 Ctrl+C 로 복사합니다.
- 사본을 놓을 폼 (탭) 으로 이동한 뒤, 캔버스의 빈 곳에서 마우스 우클릭합니다.
- 우클릭 메뉴에서 「연결하여 붙여넣기」를 선택합니다.
- 사본이 만들어지고 원본과 자동으로 연결됩니다. 사본 이름은
:VS_PRODUCT1처럼 자동으로 붙지만, 변수는 원본 이름을 기준으로 동작합니다.사본을 다시 복사하면?
- 사본을 복사해서 「연결하여 붙여넣기」 하더라도, 새로 만들어진 사본도 같은 원본에 연결됩니다. 연결은 항상 원본 하나를 기준으로 유지됩니다.
- 동기화 동작 방식
- 값 동기화
- 원본이든 사본이든 화면에서 값을 바꾸면 연결된 모든 컨트롤이 같은 값이 됩니다.
- 사본에서 바꾼 경우에도 원본에 반영되고, 원본을 통해 나머지 사본으로 전달됩니다.
- 값이 바뀐 뒤의 조회는 원본에서 한 번만 수행되어 중복 조회가 생기지 않습니다.
- 데이터 동기화
- 데이터소스를 갖는 컨트롤 (ComboBox · MultiComboBox · PickList 등) 은 원본만 조회를 수행하고, 조회 결과 (목록) 가 사본에 자동으로 반영됩니다.
- 사본에서
Refresh()가 호출되면 원본이 대신 조회하며, 보고서 자동 조회 (AutoRefresh) 대상에서도 사본은 제외됩니다. - 처음 선택되는 값은 원본의 초기값 (
InitValue) 을 따릅니다.
- 이벤트
- 원본의
OnValueChanged등 값 변경 이벤트는 값이 바뀔 때 항상 한 번 발생합니다. - 사본의 이벤트도 기본적으로 함께 발생하여, 사본에 작성한 스크립트가 동작합니다. 사본의 이벤트를 발생시키지 않으려면 [속성] 창 Link 섹션의 LinkedEvent 를 사본마다 꺼 주십시오.
- 원본의
- 값 동기화
- [속성] 창 Link 섹션
- 사본을 선택하면 [속성] 창에 Link 섹션이 별도 그룹으로 표시됩니다.
항목 설명 SourceControl 이 사본이 참조하는 원본 컨트롤의 이름입니다. (읽기 전용)
원본 컨트롤의 이름을 바꾸면 이 값도 자동으로 따라갑니다.오른쪽 끝의 이 아이콘을 누르면 원본과의 연결을 끊고 완전히 독립된 컨트롤로 바뀝니다.
LinkedValue 원본과 값을 함께 동기화합니다. 끄면 이 사본은 값을 따로 관리합니다. LinkedData 원본의 데이터소스 조회 결과를 이 사본에 자동으로 반영합니다. 끄면 이 사본이 스스로 데이터소스를 조회합니다. LinkedEvent 값 동기화 시 이 사본의 OnValueChanged등 이벤트를 함께 발생시킵니다. 끄면 사본의 이벤트가 발생하지 않습니다. (원본 이벤트는 항상 발생) - 원본을 선택하면 Link 섹션에 LinkedControls 항목으로, 이 컨트롤을 참조하는 사본 이름과 개수가 표시됩니다. (읽기 전용)
- 사본을 선택하면 [속성] 창에 Link 섹션이 별도 그룹으로 표시됩니다.
- 편집 (Edit) 화면에서의 표시
링크 뱃지 — 원본이나 사본 컨트롤을 선택하면 컨트롤 우상단에 뱃지가 표시됩니다.
항목 이미지 설명 원본 N 개의 사본이 이 컨트롤을 참조하고 있습니다. 사본 다른 컨트롤을 원본으로 참조하고 있습니다. - 컨트롤 위에 마우스를 올리면 툴팁에 연결된 원본 이름 또는 사본 수가 함께 표시됩니다.
- 링크 관리
- 연결 해제
- 원본 컨트롤이 지워지거나 변환으로 컨트롤 유형이 바뀌면, 화면에 안내 메시지가 표시되면서 연결이 모두 해제됩니다.
- [속성] 창 Link 섹션에서 SourceControl 오른쪽의 연결 해제 아이콘을 누르면 해당 사본이 독립 컨트롤로 전환됩니다. 복사한 시점의 데이터소스 설정을 그대로 갖고 있으므로 해제 즉시 단독으로 동작합니다.
- 원본 컨트롤이 지워지거나 변환으로 컨트롤 유형이 바뀌면, 화면에 안내 메시지가 표시되면서 연결이 모두 해제됩니다.
- 실행 취소 / 다시 실행
「연결하여 붙여넣기」, 삭제, 연결 해제 모두 Ctrl+Z 로 되돌릴 수 있으며, 링크 정보도 함께 복원됩니다. - 저장
링크 정보는 i-AUD 보고서 파일 (.mtsd) 에 함께 저장되어, 보고서를 다시 열어도 유지됩니다. 다른 보고서로 복사해서 붙여넣는 경우에는 원본이 없으므로 링크 없이 일반 사본으로 만들어집니다.
- 연결 해제
FAQ
- 편집 (Edit) 화면에서는 동기화가 안 되나요?
- 동기화는 미리보기 (Preview) 화면과 실행 (Viewer) 화면에서 동작합니다. 편집 화면에서는 링크 관계 표시와 [속성] 창 설정만 제공됩니다.
- 일반 붙여넣기와 무엇이 다른가요?
- 일반 붙여넣기 (Ctrl+V) 는 링크 없는 독립된 사본을 만듭니다. 기존 보고서의 동작은 바뀌지 않습니다.
- 사본에도 스크립트 이벤트를 걸 수 있나요?
- 가능합니다. 값 동기화 시 사본에서도 이벤트가 발생합니다. (기본값) 원하지 않으면 사본의 LinkedEvent 를 꺼 주십시오.
- 원본이나 사본의 위치를 옮겨도 되나요?
- 됩니다. 다른 폼 (탭) 으로 옮기거나, Group 컨트롤에 넣었다 빼거나,
Visible을 꺼 화면에서 감춰도 링크와 동기화는 그대로 유지됩니다.
- 됩니다. 다른 폼 (탭) 으로 옮기거나, Group 컨트롤에 넣었다 빼거나,
- SQL 은 어떤 이름으로 변수를 받나요?
- SQL 에서는 원본 이름을 참조하세요. (예 :
:VS_PRODUCT) 사본 이름 (:VS_PRODUCT1) 은 변수 수집 대상에서 제외됩니다.
- SQL 에서는 원본 이름을 참조하세요. (예 :
- 무한 루프가 생기지 않나요?
- 원본 컨트롤이 중심이 되어 값을 전달하며, 순환을 막는 처리가 되어 있어 무한 루프가 생기지 않습니다. 다만 사본에
Binding을 직접 지정하면 순환참조가 생길 수 있습니다. ([주의 사항] 참고)
- 원본 컨트롤이 중심이 되어 값을 전달하며, 순환을 막는 처리가 되어 있어 무한 루프가 생기지 않습니다. 다만 사본에
- 잘라내기 (Ctrl+X) 도 확인 메시지가 뜨나요?
- 별도 확인 없이 바로 진행됩니다. 원본을 잘라내면 [링크 관리] 의 [연결 해제] 와 마찬가지로 사본과의 연결이 모두 해제되며, 사본은 각각 독립된 컨트롤이 됩니다.
참고 사항
- 링크 설정은 [속성] 창의 Link 섹션에서 확인하고 변경합니다. (위치 : i-AUD Designer > [속성] 창 > Link)
LinkedValue·LinkedData·LinkedEvent는 사본마다 따로 켜고 끌 수 있습니다. 필요한 동기화만 남겨 두면 됩니다.
주의 사항
「연결하여 붙여넣기」 메뉴는 클립보드에 링크를 지원하는 컨트롤이 복사되어 있을 때만 나타납니다. 일반 Ctrl+V 붙여넣기는 이전과 동일하게 독립된 사본을 만듭니다.
사본에는
Binding을 지정하지 마세요.
「연결하여 붙여넣기」로 만든 사본은 원본의Binding·AfterRefresh설정 없이 생성됩니다. 값과 데이터는 원본에서 받아 오므로 사본에 따로 지정할 필요가 없으며, 사본에Binding을 지정하면 값이 서로를 계속 바꾸는 순환참조가 생길 수 있습니다.기존 수동 동기화 스크립트가 있는 보고서에 적용할 때
기존에OnValueChanged등 이벤트 스크립트로 컨트롤 값을 직접 맞춰 오던 보고서에 「연결하여 붙여넣기」를 적용하면, 자동 동기화와 스크립트 동기화가 이중으로 실행될 수 있습니다.생길 수 있는 문제 : 이벤트가 중복 실행되어 불필요한 재조회 (중복 쿼리) 가 발생하고 속도가 느려집니다.
권장 조치 : 링크드 컨트롤을 적용한 뒤 기존에 작성해 둔 수동 동기화 스크립트는 삭제해 주세요.
사본에서 개별 로직을 실행할 필요가 없다면, [속성] 창 Link 섹션의 LinkedEvent 를 꺼 두는 방법도 있습니다.
변경 사항
변경 전 변경 후 릴리즈 번호 여러 폼에서 같은 조회 조건을 쓰려면 컨트롤을 각각 복사한 뒤,
OnValueChanged등의 이벤트 스크립트를 직접 작성해 값을 맞춰야 했습니다.데이터소스도 컨트롤마다 각각 조회했습니다.
「연결하여 붙여넣기」 한 번으로 원본과 사본이 묶여, 값 · 데이터 · 이벤트가 스크립트 없이 동기화됩니다.
우클릭 메뉴에 「연결하여 붙여넣기」 추가
원본 컨트롤 뱃지
사본 컨트롤 뱃지
[속성] 창 Link 섹션 (원본)
[속성] 창 Link 섹션 (사본)
7.0.600.20260820-11, 7.0.610.20260820-11
| 기능 정보 |
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|
| 시작 버전 정보 |
| ||||||
샘플 정보
- 샘플 URL :
- 샘플 파일










