[]
↳ TemplateSheet
• new TemplateSheet(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();
templateSheet.setValue(0, 0, 'test');
名前 | 型 | 説明 |
---|---|---|
name |
string |
テンプレートシートの名前。 |
▸ getDataEntrySetting(): DataEntrySetting
データ操作の設定を取得します。
実例
// データ操作の設定を取得します。
const dataEntrySetting = templateSheet.getDataEntrySetting();
データ操作の設定を返します。
▸ getLayoutSetting(): LayoutSetting
レイアウト設定を取得します。
実例
// レイアウト設定を取得します。
const layoutSetting = templateSheet.getLayoutSetting();
レイアウト設定を返します。
▸ getPaginationSetting(): IPaginationSetting
改ページの設定を取得します。
実例
// 改ページの設定を取得します。
const paginationSetting = templateSheet.getPaginationSetting();
改ページの設定を返します。
▸ getTemplateCell(row
, col
): TemplateCell
テンプレートセルを取得します。
実例
// A2 テンプレートセルの設定を取得します。
const templateCell = templateSheet.getTemplateCell(1, 0);
名前 | 型 | 説明 |
---|---|---|
row |
number |
行インデックス。 |
col |
number |
列インデックス。 |
テンプレートセルを返します。
▸ setDataEntrySetting(dataEntrySetting
): void
データ操作を設定します。
実例
// 顧客のテーブルを追加します。
const customersTable = spread.dataManager().addTable('Customers', {
remote: {
read: { url: 'https://demodata.mescius.io/northwind/api/v1/customers' },
batch: (data) => {
// 変更をサーバーに同期します。
console.log('changes: ', data);
return Promise.resolve(data.map((item) => ({ succeed: true })));
},
},
batch: true,
});
// テンプレートのバインディングを設定します
const columns = ['customerId', 'companyName', 'contactName', 'contactTitle', 'address', 'region', 'country', 'city', 'postalCode', 'phone', 'fax'];
columns.forEach((columnName, i) => {
templateSheet.setValue(0, i, `${columnName[0].toUpperCase()}${columnName.substring(1)}`);
templateSheet.setTemplateCell(1, i, {
type: 'List',
binding: `Customers[${columnName}]`,
});
});
// データ操作の設定を構成します。
const customerRule = {
name: 'customers',
tableName: 'Customers',
fields: [
{ formula: 'A2', dbColumnName: 'customerId', isPrimary: true },
{ formula: 'B2', dbColumnName: 'companyName' },
{ formula: 'C2', dbColumnName: 'contactName' },
{ formula: 'D2', dbColumnName: 'contactTitle' },
{ formula: 'E2', dbColumnName: 'address' },
{ formula: 'F2', dbColumnName: 'region' },
{ formula: 'G2', dbColumnName: 'country' },
{ formula: 'H2', dbColumnName: 'city' },
{ formula: 'I2', dbColumnName: 'postalCode' },
{ formula: 'J2', dbColumnName: 'phone' },
{ formula: 'K2', dbColumnName: 'fax' },
],
};
templateSheet.setDataEntrySetting([customerRule]);
名前 | 型 | 説明 |
---|---|---|
dataEntrySetting |
DataEntrySetting |
データ操作の設定。 |
void
▸ setLayoutSetting(setting
): void
レイアウト設定を構成します。
実例
const dataManager = spread.dataManager();
dataManager.addTable("orders",
{
remote: {
read: {
url: "https://demodata.mescius.io/northwind/api/v1/orders"
}
}
}
);
templateSheet.setTemplateCell(1, 0, { type: 'List', binding: 'orders[orderId]' });
const setting = {
dataRange: "A2",
type: "RowLayout",
rowCount: 10
}
templateSheet.setLayoutSetting(setting);
名前 | 型 | 説明 |
---|---|---|
setting |
LayoutSetting |
レイアウト設定。 |
void
▸ setPaginationSetting(setting
): void
改ページの設定を構成します。
実例
// 用紙サイズの改ページを設定します。
const printInfo = templateSheet.printInfo();
printInfo.paperSize().kind(GC.Spread.Sheets.Print.PaperKind.a4);
templateSheet.setPaginationSetting({
paperSizePagination: true,
titleRow: {
start: 0,
end: 0,
},
titleCol: {
start: 0,
end: 0,
},
paginationOrder: 'OverThenDown',
});
// 行ごとの改ページを設定します。行ごとの改ページはリストセルに対してのみ機能します。
templateSheet.setTemplateCell(1, 0, { type: 'List', binding: 'orders[orderId]' });
templateSheet.setPaginationSetting({
rowPagination: {
paginationDataCell: 'A2',
rowCountPerPage: 20,
},
titleRow: {
start: 0,
end: 0,
},
});
名前 | 型 | 説明 |
---|---|---|
setting |
IPaginationSetting |
改ページの設定。 |
void
▸ setTemplateCell(row
, col
, templateCell
): void
テンプレートセルを設定します。
実例
const dataManager = spread.dataManager();
dataManager.addTable("orders",
{
remote: {
read: {
url: "https://demodata.mescius.io/northwind/api/v1/orders"
}
}
}
);
// A2 セルのテンプレート セルの設定を構成します。
templateSheet.setTemplateCell(1, 0, { type: 'List', binding: 'orders[shipCity]' });
名前 | 型 | 説明 |
---|---|---|
row |
number |
行インデックス。 |
col |
number |
列インデックス。 |
templateCell |
TemplateCell |
テンプレートセル。 |
void