[]
• new Table(name
, dataSourceOption
)
テーブルを表します。
名前 | 型 | 説明 |
---|---|---|
name |
string |
テーブル名。 |
dataSourceOption |
IDataSourceOption |
テーブルのデータソース。 |
• columns: IColumnCollection
テーブルのデフォルトの列を表します。テーブルがフェッチされた後にのみ使用できます。 キーは列名、値は列情報です。
• name: string
テーブルの名前を表します。
• options: IDataSourceOption
テーブルのオプションを表します。
• views: IViews
テーブルのビューコレクションを表します。 キーはビュー名で、値はGC.Data.Viewインスタンスです。
▸ 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 |
- |
ビューを返します。
▸ clearIndexes(): void
インデックス付きのフィールドをすべてクリアします。
実例
// インデックス付きのフィールドをすべてクリアします。
table.clearIndexes();
void
▸ createIndexes(fields
): void
フィールドのインデックスを作成します。
実例
// インデックスを作成します。
table.createIndexes(["name", "country", "project"]);
名前 | 型 | 説明 |
---|---|---|
fields |
string [] |
インデックスフィールド。 |
void
▸ dropIndexes(fields
): void
インデックス付きフィールドを削除します。
実例
// インデックス付きフィールドを削除します。
table.dropIndexes(["name", "country", "project"]);
名前 | 型 | 説明 |
---|---|---|
fields |
string [] |
インデックス付きフィールド。 |
void
▸ 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(): string
[]
インデックス付きのフィールドをすべて取得します。
実例
// インデックス付きフィールドがあります。
table.getIndexes(); // returns ["name", "country", "project"]
// インデックス付きフィールドはありません。
table.getIndexes(); // returns []
string
[]
インデックス付きフィールド。
▸ 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
[]
一致するすべてのレコード。