[]
        
(Showing Draft Content)

GC.Data.Table

クラス: Table

GC.Data.Table

Table of contents

コンストラクタ

プロパティ

メソッド

コンストラクタ

constructor

new Table(name, dataSourceOption)

テーブルを表します。

パラメータ

名前 説明
name string テーブル名。
dataSourceOption IDataSourceOption テーブルのデータソース。

プロパティ

columns

columns: IColumnCollection

テーブルのデフォルトの列を表します。テーブルがフェッチされた後にのみ使用できます。 キーは列名、値は列情報です。


name

name: string

テーブルの名前を表します。


options

options: IDataSourceOption

テーブルのオプションを表します。


views

views: IViews

テーブルのビューコレクションを表します。 キーはビュー名で、値はGC.Data.Viewインスタンスです。

メソッド

addView

addView(name, columnInfos?, includeDefaultColumns?, options?): View

ホストテーブルが現在のテーブルであるビューを追加します。

プロパティ name - 列の一意の名前。

プロパティ [value] - 列の値。 データベースのテーブルのフィールド名、またはフィールド名を使用する数式の場合があります。

プロパティ {string | string[]} [caption] - 列のキャプション。

プロパティ {number | string} [width] - 列の幅。 ピクセル単位の数値、またはスターサイズをサポートします。

プロパティ [style] - 列スタイルのオプション。

プロパティ {Array.<GC.Data.CellValueRuleOptions | GC.Data.SpecificTextRuleOptions | GC.Data.FormulaRuleOptions | GC.Data.DateOccurringRuleOptions | GC.Data.Top10RuleOptions | GC.Data.UniqueRuleOptions | GC.Data.DuplicateRuleOptions | GC.Data.AverageRuleOptions | GC.Data.TwoScaleRuleOptions | GC.Data.ThreeScaleRuleOptions | GC.Data.DataBarRuleOptions | GC.Data.IconSetRuleOptions>} [conditionalFormats] - 条件付きルールの配列。

プロパティ {GC.Data.NumberValidatorOptions | GC.Data.DateValidatorOptions | GC.Data.TimeValidatorOptions | GC.Data.TextLengthValidatorOptions | GC.Data.FormulaValidatorOptions | GC.Data.FormulaListValidatorOptions | GC.Data.ListValidatorOptions} [validators] - デフォルトのデータバリデーター。

プロパティ [isPrimaryKey] - 列を主キー列にします。

プロパティ [readonly] - 列を読み取り専用にします。

プロパティ [required] - 新しい行を挿入するときに、列を必須としてマークします。

プロパティ [defaultValue] - 新しい行を挿入するときにデフォルト値を指定します。定数または数式にすることができます。

プロパティ [style] - 列ヘッダスタイルのオプション。

実例

// 文字列配列列でビューを追加します。
productTable.addView("productView", [
    "id", "name", "reorderLevel", "unitPrice", "unitsInStock", "unitsOnOrder"
]);

// カスタマイズされた列でビューを追加します。
productTable.addView("productView", [{
    value: "id",
    caption: "ID",
    isPrimaryKey: true
}, {
    value: "name",
    caption: "NAME",
    required: true
}, {
    value: "quantityPerUnit",
    caption: "QUANTITY PER UNIT"
}, {
    value: "unitPrice",
    caption: "UNIT PRICE"
}, {
    value: "unitsInStock",
    caption: "UNITS IN STOCK",
    readonly: true
}, {
    value: "unitsOnOrder",
    caption: "UNITS ON ORDER"
}, {
    value: "reorderLevel",
    caption: "REORDER LEVEL"
}, {
    value: "discontinued",
    caption: "DISCONTINUED",
    defaultValue: false
});

// リレーションシップ列を持つビューを追加します。
var supplierRelationship = dataManager.addRelationship(productTable, "supplierId", "supplier", supplierTable, "id", "products");
productTable.addView("productWithSupplierView", [{
    value: "id",
    caption: "ID"
}, {
    value: "name",
    caption: "NAME"
}, {
    value: "supplier.companyName", // リレーションシップ
    caption: "SUPPLIER NAME"
}, {
    value: "supplier.contactName", // リレーションシップ
    caption: "SUPPLIER CONTACT NAME"
}, {
    value: "supplier.contactTitle", // リレーションシップ
    caption: "SUPPLIER CONTACT TITLE"
});

// 計算フィールド列を持つビューを追加します。
var supplierRelationship = dataManager.addRelationship(productTable, "supplierId", "supplier", supplierTable, "id", "products");
productTable.addView("productWithSupplierView", [{
    value: "id",
    caption: "ID"
}, {
    value: "name",
    caption: "NAME"
}, {
    caption: "TOTAL PRICE",
    value: "=(unitsInStock + unitsOnOrder) * unitPrice"
}, {
    caption: "SUPPLIER'S INFO",
    value: "=CONCAT(supplierTable.companyName, ', ', supplierTable.contactName)"
});

パラメータ

名前 説明
name string ビューの名前。
columnInfos? string[] | IColumn[] -
includeDefaultColumns? boolean 列の情報が空のときに現在のテーブルのデフォルト列を含めるかどうか。 デフォルト値はtrueです。
options? ViewOptions -

戻り値

View

ビューを返します。


clearIndexes

clearIndexes(): void

インデックス付きのフィールドをすべてクリアします。

実例

// インデックス付きのフィールドをすべてクリアします。
table.clearIndexes();

戻り値

void


createIndexes

createIndexes(fields): void

フィールドのインデックスを作成します。

実例

// インデックスを作成します。
table.createIndexes(["name", "country", "project"]);

パラメータ

名前 説明
fields string[] インデックスフィールド。

戻り値

void


dropIndexes

dropIndexes(fields): void

インデックス付きフィールドを削除します。

実例

// インデックス付きフィールドを削除します。
table.dropIndexes(["name", "country", "project"]);

パラメータ

名前 説明
fields string[] インデックス付きフィールド。

戻り値

void


fetch

fetch(reload?): Promise<any>

データソースオプションを使用して、ローカルデータソースまたはリモートデータソースからテーブルデータを要求します。

実例

// 取得したデータを使用してテーブルシートを作成します。
productTable.fetch().then(function(data) {
    var productView = productTable.addView("productView");
    var tableSheet = spread.addSheetTab(0, "productTableSheet", GC.Spread.Sheets.SheetType.tableSheet);
    tableSheet.setDataView(productView);
});

パラメータ

名前
reload? boolean

戻り値

Promise<any>

解決するPromiseのthen。 Promise.then()でデータを取得できます。


getIndexes

getIndexes(): string[]

インデックス付きのフィールドをすべて取得します。

実例

// インデックス付きフィールドがあります。
table.getIndexes(); // returns ["name", "country", "project"]
// インデックス付きフィールドはありません。
table.getIndexes(); // returns []

戻り値

string[]

インデックス付きフィールド。


removeView

removeView(name): void

ビューを削除します。

実例

// 名前でビューを削除します。
dataManager.removeView("productView");

パラメータ

名前 説明
name string 削除するビューの名前。

戻り値

void


search(value, field): any[]

検索値を使用してレコードを検索し、完全に一致するすべてのレコードを返します。

実例

// 値を検索して成功します。
table.search("SpreadJS", "group"); // returns [ {id: 1, project: "DataManager", group: "SpreadJS"}, {id: 3, project: "TableSheet", group: "SpreadJS"} ]
// 値を検索して失敗しました。
table.search("WPS", "project"); // returns []

パラメータ

名前 説明
value any 検索値。 文字列型でないを常に文字列型に変換します。
field string 対象のフィールド。

戻り値

any[]

一致するすべてのレコード。