[]
        
(Showing Draft Content)

리포트 시트 데이터 입력 지원

리포트 시트는 데이터 매니저를 통해 데이터 입력을 지원합니다. 사용자는 리포트 시트에서 데이터 소스를 구성하고, 템플릿 시트의 데이터 입력 설정을 구성해야 합니다.

리포트 시트는 보고서 데이터에 대해 다양한 작업을 수행할 수 있도록 리포트 시트 클래스에서 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) 옵션을 사용하여 데이터 입력 레코드를 추가, 삭제 및 제출할 수 있습니다.


image


또한 리포트 시트는 데이터 입력 미리 보기에서 변경된 셀(dirty cell)의 스타일을 사용자 정의할 수 있습니다.

미리 보기에서 셀 값이 수정되면 해당 셀은 지정된 dirty 스타일로 표시됩니다.

기본 dirty 스타일은 셀의 오른쪽 상단에 붉은 삼각형 표시로 설정되어 있습니다.


image


IReportOptions 인터페이스의 dirtyStyle 옵션을 사용하여 dirty 셀 스타일을 사용자 정의할 수 있습니다.

다음 코드 샘플은 dirty 셀에 빨간색 배경을 설정하는 방법을 보여줍니다:

// 스타일 생성
const style = new GC.Spread.Sheets.Style();
style.backColor = 'red';
reportSheet.options.dirtyStyle = style;
reportSheet.refresh();

위 코드를 실행한 결과는 아래와 같습니다:

image