[]
고정(pin) 옵션은 템플릿 시트에서 확산(spill)된 셀의 오프셋을 제거하는 데 사용됩니다.
셀 확산 이후, 리포트 레이아웃이 변경될 수 있습니다. 이러한 경우, 템플릿 시트에서 셀을 고정하여 확산된 셀의 오프셋을 제거할 수 있습니다. Spread.Report.TemplateSheet 클래스의 setTemplateCell
메서드에서 pin
속성을 사용하여 고정 옵션을 설정할 수 있습니다.
pin
속성에서 사용할 수 있는 옵션은 다음과 같습니다:
None
Row
Column
Both
기본값은 None
입니다.
참고:
고정 옵션은 부모가 없는 Static 셀에서만 작동하며, Static 셀은 확산된 셀 트리 범위와 겹치지 않아야 합니다.
열 고정을 위해서는 해당 행에 확산된 셀이 없어야 합니다.
행 고정을 위해서는 해당 열에 확산된 셀이 없어야 합니다.
다음은 고정 옵션이 확산된 셀의 오프셋을 제거하는 방법을 설명하는 예제입니다.
이 예제에서는 Orders
데이터 테이블을 데이터 소스로 사용하며, shipCountry
필드를 이용해 템플릿 셀과 데이터 소스 간의 바인딩을 수행합니다.
예제 1: 열(Column) 오프셋 제거
다음 템플릿을 리포트 시트에 로드합니다:
templateSheet.setTemplateCell(1, 0, {
type: 'Group',
binding: 'Orders[shipCountry]',
spillDirection: 'Horizontal',
});
templateSheet.setValue(0, 1, 2023);
위 코드의 출력은 다음과 같습니다:
셀 B1(값: 2023)을 원래 위치에 유지하려면 셀 A1을 고정합니다:
templateSheet.setTemplateCell(0, 0, {
pin: 'Column',
});
템플릿은 다음과 같이 보입니다:
고정된 셀이 적용된 경우 리포트는 다음과 같이 생성됩니다:
예제 2: 행(Row) 오프셋 제거
다음 템플릿을 리포트 시트에 로드합니다:
templateSheet.setTemplateCell(0, 1, {
type: 'Group',
binding: 'Orders[shipCountry]',
});
templateSheet.setValue(1, 0, 2023);
위 코드의 출력은 다음과 같습니다:
셀 A2(값: 2023)를 원래 위치에 유지하려면 셀 A1을 고정합니다:
templateSheet.setTemplateCell(0, 0, {
pin: 'Row',
});
템플릿은 다음과 같이 보입니다:
고정된 셀이 적용된 경우 리포트는 다음과 같이 생성됩니다: