[]
리포트 시트는 데이터 매니저를 통해 데이터 입력을 지원합니다. 사용자는 리포트 시트에서 데이터 소스를 구성하고, 템플릿 시트의 데이터 입력 설정을 구성해야 합니다.
리포트 시트는 보고서 데이터에 대해 다양한 작업을 수행할 수 있도록 리포트 시트 클래스에서 Data Entry 메서드들을 제공합니다.
addRecordAt()
: 지정한 셀을 기준으로 레코드를 추가합니다.
deleteRecordAt()
: 지정한 셀을 기준으로 레코드를 삭제합니다.
updateCellValue()
: 지정한 셀의 값을 새로운 값으로 업데이트합니다.
submit()
: DataManager를 통해 Data Entry 설정을 기준으로 변경 사항을 원격 데이터베이스에 제출합니다.
참고: 여러 레코드를 한 번에 제출하는 경우, 데이터베이스에 저장되는 레코드의 순서가 변경될 수 있습니다.
다음 코드 샘플은 데이터 입력 메서드를 설정하는 방법을 보여줍니다:
// 레코드 추가
reportSheet.addRecordAt(1, 2);
// 셀 값 업데이트
reportSheet.updateCellValue(2, 2, 'test');
// 레코드 삭제
reportSheet.deleteRecordAt(4, 5);
// 변경 사항 제출
reportSheet.submit();
SpreadJS에서는 디자이너의 컨텍스트 메뉴에서 레코드 추가(Add Record), 레코드 삭제(Delete Record), 제출(Submit) 옵션을 사용하여 데이터 입력 레코드를 추가, 삭제 및 제출할 수 있습니다.
또한 리포트 시트는 데이터 입력 미리 보기에서 변경된 셀(dirty cell)의 스타일을 사용자 정의할 수 있습니다.
미리 보기에서 셀 값이 수정되면 해당 셀은 지정된 dirty 스타일로 표시됩니다.
기본 dirty 스타일은 셀의 오른쪽 상단에 붉은 삼각형 표시로 설정되어 있습니다.
IReportOptions
인터페이스의 dirtyStyle
옵션을 사용하여 dirty 셀 스타일을 사용자 정의할 수 있습니다.
다음 코드 샘플은 dirty 셀에 빨간색 배경을 설정하는 방법을 보여줍니다:
// 스타일 생성
const style = new GC.Spread.Sheets.Style();
style.backColor = 'red';
reportSheet.options.dirtyStyle = style;
reportSheet.refresh();
위 코드를 실행한 결과는 아래와 같습니다: