[]
        
(Showing Draft Content)

GC.Spread.Report.ReportSheet

クラス: ReportSheet

Spread.Report.ReportSheet

Table of contents

コンストラクタ

プロパティ

メソッド

コンストラクタ

constructor

new ReportSheet(name)

レポートシートを表します。

実例

const spread = new GC.Spread.Sheets.Workbook('spread-host', { sheetCount: 0 });
const reportSheet = spread.addSheetTab(0, 'orders-report', GC.Spread.Sheets.SheetType.reportSheet);
const templateSheet = reportSheet.getTemplate();

const ordersTable = spread.dataManager().addTable('Orders', {
    remote: {
        read: {
            url: 'https://demodata.mescius.io/northwind/api/v1/orders'
        }
    }
});

// リモートからデータをロードします。
ordersTable.fetch().then(() => {
    // テンプレートのスタイルを設定します。
    const headerStyle = new GC.Spread.Sheets.Style();
    headerStyle.backColor = '#80CBC4';
    headerStyle.foreColor = '#424242';
    headerStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.right;
    headerStyle.font = '12px Maine';
    const dataStyle = new GC.Spread.Sheets.Style();
    dataStyle.foreColor = '#424242';
    dataStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.right;
    dataStyle.font = '12px Maine';
    const border = new GC.Spread.Sheets.LineBorder('#E0E0E0', 1);
    dataStyle.borderBottom = border;
    dataStyle.borderTop = border;
    dataStyle.borderLeft = border;
    dataStyle.borderRight = border;
    const colWidthArray = [90, 90, 90, 80, 220, 150, 110];
    colWidthArray.forEach((width, i) => {
        templateSheet.setColumnWidth(i, width);
    });
    templateSheet.getRange('A1:G1').setStyle(headerStyle);
    templateSheet.getRange('A2:G2').setStyle(dataStyle);
    templateSheet.setFormatter(1, 2, 'yyyy-MM-dd');

    // テンプレートの値とバインディングを設定します。
    const columns = ['orderId', 'customerId', 'orderDate', 'freight', 'shipName', 'shipCity', 'shipCountry'];
    columns.forEach((columnName, i) => {
        templateSheet.setValue(0, i, `${columnName[0].toUpperCase()}${columnName.substring(1)}`);
        templateSheet.setTemplateCell(1, i, {
            type: 'List',
            binding: `Orders[${columnName}]`,
        });
    });

    reportSheet.refresh();
});

パラメータ

名前 説明
name string レポートシートの名前。

プロパティ

options

options: IReportOptions

レポートシートのオプションを示します。

プロパティ [dirtyStyle] このスタイルは、プレビューモードで変更されたセルを描画するために使用されます。

プロパティ [printAllPages] すべてのページを印刷するかどうかを示します。

メソッド

addRecordAt

addRecordAt(row, col): void

指定されたセル位置にレコードを追加します。

実例

// レコードを A2 セルに追加します。
reportSheet.addRecordAt(1, 0);

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

void


bind

bind(type, data?, fn?): void

イベントをレポートシートに連結します。

実例

// 次のサンプルコードは、ReportSheetDataChangedイベントをレポートシートに連結します。
const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.setTemplateCell(0, 1, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.setDataEntrySetting([ {
   name: "Write Back Rule 1",
   tableName: "Orders",
   fields: [
       { dbColumnName: "orderId", formula: "A1", isPrimary: true },
       { dbColumnName: "customerId", formula: "B1" },
   ],
   includeUnmodified: false,
   skipRecordWithEmptyValue: false
} ]);
report.renderMode("Preview");
report.bind(GC.Spread.Sheets.Events.ReportSheetDataChanged, (event, args) => {
    let reportsheet = args.sheet, changes = reportsheet.getChanges();
    if (allowSubmit(changes)) { // この変更を送信または削除できます。
         reportsheet.submit(); // 変更を送信します。
    } else {
         reportsheet.refresh(); // 変更を削除します。
    }
});
// レポートシートのレコードを UI で編集/更新/削除すると、ReportSheetDataChanged イベントがトリガーされます。

パラメータ

名前 説明
type string イベントタイプ。
data? any オプション。関数に渡す追加データを指定します。
fn? Function イベントが発生したときに実行する関数を指定します。

戻り値

void


currentPage

currentPage(page?): number

現在のページインデックスを取得または設定します。

実例

//現在のページインデックスを取得します。
const page = reportSheet.currentPage();

// 次のページに進みます。
reportSheet.currentPage(page + 1);

パラメータ

名前 説明
page? number ページインデックス(0 から始まる)。

戻り値

number

現在のページインデックスを返します。


deleteRecordAt

deleteRecordAt(row, col): void

指定されたセルを削除します。

実例

// A2 セルのレコードを削除します。
reportSheet.deleteRecordAt(1, 0);

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

void


generatePageSheets

generatePageSheets(addToSpread, sheetNameGenerator?): Worksheet[]

現在のレポートの各ページをワークシートとして生成し、配列で返します。

実例

// ページを生成し、スプレッドに追加します。
const pageSheets = reportSheet.generatePageSheets(true);

// ページを生成し、スプレッドに追加し、シート名をカスタマイズします。
const pageSheets = reportSheet.generatePageSheets(true, (i) => `report-page-${i + 1}`);

パラメータ

名前 説明
addToSpread boolean 現在のスプレッドにページシートを追加するかどうかを制御します。
sheetNameGenerator? SheetNameGenerator オプションのシート名ジェネレーター。

戻り値

Worksheet[]

生成されたワークシートを返します。


getActualStyle

getActualStyle(row, col): Style

現在の表示モードでセルの実際のスタイルを取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.getCell(0, 0).backColor("red");
templateSheet.setTemplateCell(1, 0, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.getCell(1, 0).backColor("green");
const designActualStyle1 = report.getActualStyle(0, 0); // backColor: red
const designActualStyle2 = report.getActualStyle(1, 0); // backColor: green
report.renderMode("Preview");
const previewActualStyle1 = report.getActualStyle(0, 0); // backColor: red
const previewActualStyle2 = report.getActualStyle(1, 0); // backColor: red
report.renderMode("PaginatedPreview");
const paginatedPreviewActualStyle1 = report.getActualStyle(0, 0); // backColor: red
const paginatedPreviewActualStyle2 = report.getActualStyle(1, 0); // backColor: red

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

Style

セルの実際のスタイルを返します。


getCells

getCells(templateRow, templateCol, currentRow?, currentCol?): IDataCell[]

プレビューモードに現在のセルに基づいてテンプレートセルの展開されたセルを取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.setTemplateCell(1, 0, {
   binding: "Orders[orderId]",
   type: "Group",
});
report.regenerateReport();
const allCustomerIdCells = report.getCells(0, 0); // すべての 89 個のセル。
const fistCustomerIdCell = report.getCells(0, 0, 0, 0); // value: VINET
const allOrderIdCells = report.getCells(1, 0); // すべての 830 個のセル。
const firstOrderIdCell = report.getCells(1, 0, 89, 0); // value: 10248

パラメータ

名前 説明
templateRow number テンプレート内の行インデックス。
templateCol number テンプレート内の列インデックス。
currentRow? number プレビューモードに現在のセルの行インデックス。
currentCol? number プレビューモードに現在のセルの列インデックス。

戻り値

IDataCell[]

現在のセルに基づいてテンプレートセルの展開されたセルを返します。


getChanges

getChanges(): Change[]

レポートシートのデータの変更や挿入、削除の更新情報を返します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
   showCollapseButton: true
});
templateSheet.setTemplateCell(0, 1, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.setDataEntrySetting([ {
   name: "Write Back Rule 1",
   tableName: "Orders",
   fields: [
       { dbColumnName: "orderId", formula: "A1", isPrimary: true },
       { dbColumnName: "customerId", formula: "B1" },
   ],
   includeUnmodified: false,
   skipRecordWithEmptyValue: false
} ]);
report.renderMode("Preview");
report.updateCellValue(0, 1, "test");
report.addRecordAt(1, 0);
report.updateCellValue(2, 0, 111);
report.updateCellValue(2, 1, "test2");
report.deleteRecordAt(3, 0);
report.getChanges(); // 1 つの削除レコードと 2 つの更新レコード。

戻り値

Change[]

レポートシートのデータの変更や挿入、削除の更新情報を返します。


getCollapseState

getCollapseState(row, col): boolean

指定したセルの折りたたみ状態を返します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
   showCollapseButton: true
});
templateSheet.setTemplateCell(0, 1, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.addSpan(0, 0, 2, 1);
report.renderMode("Preview");
report.getCollapseState(0, 0); // false
report.toggleCollapseState(0, 0);
report.getCollapseState(0, 0); // true

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

boolean


getColumnWidth

getColumnWidth(col): number

列インデックスによって列幅を取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
   spillDirection: "Horizontal"
});
templateSheet.setColumnWidth(0, 100);
const designColumnWidth1 = report.getColumnWidth(0); // ColumnWidth: 100
const designColumnWidth2 = report.getColumnWidth(1); // ColumnWidth: 62
report.renderMode("Preview");
const previewColumnWidth1 = report.getColumnWidth(0); // ColumnWidth: 100
const previewColumnWidth2 = report.getColumnWidth(1); // ColumnWidth: 100
report.renderMode("PaginatedPreview");
const paginatedPreviewColumnWidth1 = report.getColumnWidth(0); // ColumnWidth: 100
const paginatedPreviewColumnWidth2 = report.getColumnWidth(1); // ColumnWidth: 100

パラメータ

名前 説明
col number 列インデックス。

戻り値

number

列幅を返します。


getPagesCount

getPagesCount(): number

レポートのページ数を取得します。

実例

// ページ数を取得します。
const pagesCount = reportSheet.getPagesCount();

戻り値

number

レポートのページ数を返します。


getRange

getRange(): Range

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(199, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
const designRange = report.getRange(); // row: 0, col: 0, rowCount: 200, colCount: 20.
report.renderMode("Preview");
const previewRange = report.getRange(); // row: 0, col: 0, rowCount: 288, colCount: 1.
report.renderMode("PaginatedPreview");
const paginatedPreviewRange = report.getRange(); // row: 0, col: 0, rowCount: 45, colCount: 1.

戻り値

Range

レポートシートの範囲を返します。表示モードがDesign(デザイン)の場合、テンプレートシートの範囲を返します。表示モードがPreview(プレビュー)の場合、レポート範囲全体を返します。表示モードがPaginatedPreview(改ページプレビュー)の場合、現在のページの範囲を返します。


getRowHeight

getRowHeight(row): number

行インデックスによって行の高さを取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.setRowHeight(0, 30);
const designRowHeight1 = report.getRowHeight(0); // RowHeight: 30
const designRowHeight2 = report.getRowHeight(1); // RowHeight: 20
report.renderMode("Preview");
const previewRowHeight1 = report.getRowHeight(0); // RowHeight: 30
const previewRowHeight2 = report.getRowHeight(1); // RowHeight: 30
report.renderMode("PaginatedPreview");
const paginatedPreviewRowHeight1 = report.getRowHeight(0); // RowHeight: 30
const paginatedPreviewRowHeight2 = report.getRowHeight(1); // RowHeight: 30

パラメータ

名前 説明
row number 行インデックス。

戻り値

number

行の高さを返します。


getSpan

getSpan(row, col): Range

現在の表示モードでセルの範囲を取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.addSpan(0, 0, 2, 1);
const designSpan1 = report.getSpan(0, 0); // span: row: 0, col: 0, rowCount: 2, colCount: 1
const designSpan2 = report.getSpan(2, 0); // span: null
report.renderMode("Preview");
const previewSpan1 = report.getSpan(0, 0); // span: row: 0, col: 0, rowCount: 2, colCount: 1
const previewSpan2 = report.getSpan(2, 0); // span: row: 2, col: 0, rowCount: 2, colCount: 1
report.renderMode("PaginatedPreview");
const paginatedPreviewSpan1 = report.getSpan(0, 0); // span: row: 0, col: 0, rowCount: 2, colCount: 1
const paginatedPreviewSpan2 = report.getSpan(2, 0); // span: row: 2, col: 0, rowCount: 2, colCount: 1

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

Range

セルの範囲を返します。


getStyle

getStyle(row, col): Style

現在の表示モードでセルのスタイルを取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.getCell(0, 0).backColor("red");
templateSheet.setTemplateCell(1, 0, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.getCell(1, 0).backColor("green");
const designStyle1 = report.getStyle(0, 0); // backColor: red
const designStyle2 = report.getStyle(1, 0); // backColor: green
report.renderMode("Preview");
const previewStyle1 = report.getStyle(0, 0); // backColor: red
const previewStyle2 = report.getStyle(1, 0); // backColor: red
report.renderMode("PaginatedPreview");
const paginatedPreviewStyle1 = report.getStyle(0, 0); // backColor: red
const paginatedPreviewStyle2 = report.getStyle(1, 0); // backColor: red

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

Style

セルのスタイルを返します。


getTemplate

getTemplate(): TemplateSheet

現在のレポートシートのテンプレートシートを取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate(); // レポートシートのテンプレートシートを取得します。
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
report.renderMode("Preview");

戻り値

TemplateSheet

現在のレポートシートのテンプレートシートを返します。


getTemplateCell

getTemplateCell(row, col): TemplateCell

指定したセルのテンプレートシートを取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.setTemplateCell(1, 0, {
   binding: "Orders[orderId]",
   type: "Group",
});
const designTemplateCell1 = report.getTemplateCell(0, 0); // binding: Orders[customerId]
const designTemplateCell2 = report.getTemplateCell(1, 0); // binding: Orders[orderId]
report.renderMode("Preview");
const previewTemplateCell1 = report.getTemplateCell(0, 0); // binding: Orders[customerId]
const previewTemplateCell2 = report.getTemplateCell(1, 0); // binding: Orders[customerId]
const previewTemplateCell3 = report.getTemplateCell(89, 0); // binding: Orders[orderId]
report.renderMode("PaginatedPreview");
const paginatedPreviewTemplateCell1 = report.getTemplateCell(0, 0); // binding: Orders[customerId]
const paginatedPreviewTemplateCell2 = report.getTemplateCell(1, 0); // binding: Orders[customerId]

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

TemplateCell

指定したセルのテンプレートシートを返します。表示モードがDesign(デザイン)の場合、指定された行列にあるテンプレートシートのテンプレートセルを返します。表示モードがPreview(プレビュー)の場合、指定されたセルのテンプレートセルを返します。表示モードがPaginatedPreview(改ページプレビュー)の場合、指定されたセルのテンプレートセルを返します。


getValue

getValue(row, col): any

現在の表示モードでセルの値を取得します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.setValue(1, 0, "test");
const designValue = report.getValue(1, 0); // test
report.renderMode("Preview");
const previewValue = report.getValue(1, 0); // TOMSP
report.renderMode("PaginatedPreview");
const paginatedPreviewValue = report.getValue(1, 0); // TOMSP

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

any

セルの値を返します。


isDirty

isDirty(): boolean

レポートに未送信の変更があるかどうかを示すブール値を返します。

実例

// 現在のレポートシートに未送信の変更がある場合、isDirty は true になります。
const isDirty = reportSheet.isDirty();

戻り値

boolean

レポートに未送信の変更がある場合は true を返し、それ以外の場合は false を返します。


loadTemplate

loadTemplate(templateJson): void

レポートシートのテンプレートを更新します。また、新しいテンプレートとパラメーター値に基づいてレポートが再生成されます。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
const templateSheet = new GC.Spread.Report.TemplateSheet("Template");
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
report.loadTemplate(templateSheet.toJSON());

パラメータ

名前 説明
templateJson Object JSONテンプレート。

戻り値

void


name

name(value?): any

レポートシートの名前を取得または設定します。

実例

// レポートシートの名前を取得します。
const name = reportSheet.name();

// レポートシートの名前を設定します。
reportSheet.name('new-name');

パラメータ

名前
value? string

戻り値

any

レポートシートの名前を返します。


parameter

parameter(parameter?): IParameter

レポートシート内のパラメータを取得または設定します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
report.getTemplate().setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
   filter: {
       condition: {
           column: "customerId",
           operator: "Equal",
           parameter: "customerId"
       }
   }
});
report.renderMode("Preview");

let parameter = report.parameter(); // レポートシートのパラメータを取得します。
parameter.customerId = "VINET";
report.parameter(parameter); // パラメータを設定します。
report.regenerateReport(); // 新しいパラメータに従ってレポートシートを再生成します。

パラメータ

名前
parameter? IParameter

戻り値

IParameter

レポートシートの現在のパラメータを返します。


printInfo

printInfo(value?): ReportSheet | PrintInfo

レポートシートの印刷情報を取得または設定します。

実例

// 用紙サイズを設定します。
const printInfo = reportSheet.printInfo();
printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a3));

パラメータ

名前
value? PrintInfo

戻り値

ReportSheet | PrintInfo

値が設定されていない場合は、レポートシートの印刷情報を返します。それ以外の場合は、レポートシートを返します。


printPageIndexes

printPageIndexes(pageIndexes?): number[]

印刷するページインデックスの配列を取得または設定します。空の配列はすべてのページを印刷することを示します。

実例

// 現在のレポートの最初のページと 5 ページ目のみを印刷します。
reportSheet.printPageIndexes([0, 4]);
reportSheet.options.printAllPages = true;
spread.print();

// 印刷するページインデックスの設定をクリアします。
reportSheet.printPageIndexes([]);

パラメータ

名前 説明
pageIndexes? number[] 印刷するページインデックスの配列(0 から始まる)。

戻り値

number[]

印刷するページインデックスの配列を返します。


refresh

refresh(): void

現在のレポートシートを更新します。この機能はすべての表示モードをサポートします。デザイン: テンプレートシートのキャッシュを更新して再描画します。プレビュー: 現在のテンプレートシートに基づいてレポートを再生成して再描画します。改ページプレビュー: 現在のテンプレートシートに基づいてレポートを再生成して再描画します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
report.refresh();

戻り値

void


regenerateReport

regenerateReport(): void

現在のテンプレートに基づいてレポートを再生成します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
report.regenerateReport();

戻り値

void


renderMode

renderMode(renderMode?): RenderMode

表示モードを取得または設定します。

実例

// デザインモードに切り替えます。
reportSheet.renderMode('Design');

// プレビューモードに切り替えます。
reportSheet.renderMode('Preview');

// 改ページプレビューモードに切り替えます。
reportSheet.renderMode('PaginatedPreview');

パラメータ

名前 説明
renderMode? RenderMode 表示モード。

戻り値

RenderMode

表示モードを返します。


repaint

repaint(): void

現在のレポートシートを再描画します。

戻り値

void


resetCellValue

resetCellValue(row, col): void

指定したセルの値をリセットします。

実例

// A2 セルの値が変更された場合、setCellValue は A2 セルを元の値にリセットします。
reportSheet.resetCellValue(1, 0);

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

void


setParametersUI

setParametersUI(host, initParametersUI, onChange): void

レポートシートのパラメータUIを設定します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
report.parameter({ customerId: "VINET" });
report.getTemplate().setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
   filter: {
       condition: {
           column: "customerId",
           operator: "Equal",
           parameter: "customerId"
       }
   }
});
report.renderMode("Preview");

const host = document.getElementById("parameterUIHost");
report.setParametersUI(host, initParametersUI, onChanged);
function initParametersUI (sheet) {
    sheet.getCell(3, 3).value("CustomerId:"); // スタティックセルを追加します。
    sheet.getCell(3, 4).bindingPath("customerId").tag("customerId"); // このセルにパラメータのバインディングパスとタグを追加します。
    const submitButton = new GC.Spread.Sheets.CellTypes.Button(); // 送信ボタンを追加します。
    submitButton.text("Submit");
    sheet.getCell(3, 5).cellType(submitButton).tag("submitButton"); // このセルにボタン型セルとタグを設定します。
}
function onChanged (reportSheet, changedArgs) {
    if (changedArgs.tag === "submitButton") { // 送信ボタンをクリックしました。
        reportSheet.regenerateReport();
    }
    if (changedArgs.tag === "customerId") {
        changedArgs.newValue = changedArgs.newValue.toUpperCase(); // newValueを更新します。
    }
}

パラメータ

名前 説明
host string | HTMLElement パラメータUIのホスト要素またはホスト ID を表します。
initParametersUI InitParametersUIFunctionType パラメータUIシートを変更するコールバック。
onChange OnChangeFunctionType パラメータUI値が変更されたとき、またはボタンがクリックされたときに呼び出されるコールバック。

戻り値

void


submit

submit(): void

データマネージャでデータ操作の設定に基づいてデータベースに変更を送信します。

実例

// 変更を送信します。
reportSheet.submit();

戻り値

void


toWorksheet

toWorksheet(): Worksheet

現在のレポートシートに基づいて、静的ワークシート (数式なし、セルの連結なし) を生成します。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
});
report.renderMode("Preview");
const reportWorksheet = report.toWorksheet();

戻り値

Worksheet

生成されたワークシートを返します。


toggleCollapseState

toggleCollapseState(row, col): void

指定したセルの折りたたみ状態を切り替えます。

実例

const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[customerId]",
   type: "Group",
   showCollapseButton: true
});
templateSheet.setTemplateCell(0, 1, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.addSpan(0, 0, 2, 1);
report.renderMode("Preview");
report.toggleCollapseState(0, 0);

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。

戻り値

void


unbind

unbind(type, fn?): void

レポートシートへのイベントの連結を解除します。

実例

// 次のサンプルコードは、最初のデータ変更後に ReportSheetDataChanged イベントの連結を解除します。
const report = spread.addSheetTab(0, "Report", GC.Spread.Sheets.SheetType.reportSheet);
report.renderMode("Design");
const templateSheet = report.getTemplate();
templateSheet.setTemplateCell(0, 0, {
   binding: "Orders[orderId]",
   type: "Group",
});
templateSheet.setTemplateCell(0, 1, {
   binding: "Orders[customerId]",
   type: "Group",
});
templateSheet.setDataEntrySetting([ {
   name: "Write Back Rule 1",
   tableName: "Orders",
   fields: [
       { dbColumnName: "orderId", formula: "A1", isPrimary: true },
       { dbColumnName: "customerId", formula: "B1" },
   ],
   includeUnmodified: false,
   skipRecordWithEmptyValue: false
} ]);
report.renderMode("Preview");
report.bind(GC.Spread.Sheets.Events.ReportSheetDataChanged, (event, args) => {
    let reportsheet = args.sheet, changes = reportsheet.getChanges();
    console.log(changes);
    reportsheet.unbind(GC.Spread.Sheets.Events.ReportSheetDataChanged);
});
// レポートシートのレコードを UI で編集/更新/削除すると、ReportSheetDataChanged イベントがトリガーされます。

パラメータ

名前 説明
type string イベントタイプ。
fn? Function 連結を解除する関数を指定します。

戻り値

void


updateCellValue

updateCellValue(row, col, value): void

指定したセルの値を更新します。

実例

// A2 セルの値を更新します。
reportSheet.updateCellValue(1, 0, 'test');

パラメータ

名前 説明
row number 行インデックス。
col number 列インデックス。
value any セルの新しい値。

戻り値

void