[]
データマネージャーは強力なデータエンジンであり、サーバー側に要求を送信して、取得したデータをテーブルシートに連結します。
データマネージャーはデータベースから取得したデータを管理(ソート、フィルター、グループ、集計)し、GC.Data.DataManagerクラスを使用してデータをデータベースに同期します。また、addTableメソッドとaddRelationshipメソッドを使用してテーブルやリレーションをマップします。同様に、DataManagerクラスのメソッドを使用することで、テーブルやリレーションを削除することもできます。
データシートに連結するデータソースで、データマネージャーで作成できるデータソースの種類としてはREST API、OData、GraphQL などのリモート ソースと、JSON のオブジェクト配列、CSV、XML などのローカルソースがサポートされています。
データソースを追加してデータテーブルを定義するときにスキーマを指定できます。スキーマには、次のプロパティがあります。
プロパティ | 説明 |
---|---|
type string | 使用するデータ型。'JSON'、'CSV'、'XML'、'columnJson'の一つ。 デフォルトは ’JSON’ です。 |
countPath string | データソースコレクションの長さを取得するために使用されます。 |
dataPath string | 解析後のデータソースコレクションを取得するために使用されます。 |
columns GC.Data.IColumnCollection | データソーステーブルの列定義。 キーは列名で、値はデータ型、dataPattern、およびdataMapを含む列情報です。
|
type=warning
メモ:日付フィールドでは、日付ピッカーが自動的に有効になります。
次の図は、dataType、および dataMapを使用してデータスキーマを示します。
次のサンプルコードは、dataType、および dataMapを使用してデータスキーマを設定する方法を示します。
var dataManager = spread.dataManager();
var customerTable = dataManager.addTable("customerTable", {
remote: {
read: {
url: apiUrl
}
},
schema: {
columns: {
validFrom: { dataType: "date" },
billToCustomer: { dataMap: { "Tailspin Toys (Head Office)": "Tailspin Toys(HO)", "Wingtip Toys (Head Office)": "Wingtip Toys(HO)" } },
buyingGroup: { dataMap: { "Tailspin Toys": "TT", "Wingtip Toys": "WT" } },
postalCode: { dataType: "number" }
}
}
});
次の図は、dataPatternを使用してデータスキーマを示します。
次のサンプルコードは、dataPatternを使用してデータスキーマを設定する方法を示します。
var myTable = dataManager.addTable("myTable", {
data: [
{ description: "Mow grass", dueDate: "8/11/2021", priority: "High", assignedTo: "Dad", isFinished: "Yes", isEncouraged: "False", credit: "20,75" },
{ description: "Clean Room", dueDate: "8/9/2021", priority: "Medium", assignedTo: "Daughter", isFinished: "No", isEncouraged: "True", credit: "10,50" },
{ description: "Organize Pantry", dueDate: "8/8/2021", priority: "Low", assignedTo: "Son", isFinished: "Yes", isEncouraged: "True", credit: "10,75" },
{ description: "Prepare BBQ", dueDate: "8/12/2021", priority: "High", assignedTo: "Mom", isFinished: "No", isEncouraged: "False", credit: "30,25" }
],
schema: {
columns: {
dueDate: { dataType: "date", dataPattern: "dd/MM/yyyy" },
isFinished: { dataPattern: "Yes|No" },
isEncouraged: { dataType: "boolean", dataPattern: "True|False" },
credit: { dataType: "number", dataPattern: "." }
}
}
});
次の図は、dataNameを使用してデータスキーマを示します。
次のサンプルコードは、dataNameを使用してデータスキーマを設定する方法を示します。
var dataManager = spread.dataManager();
var customerTable = dataManager.addTable("customerTable", {
remote: {
read: {
url: apiUrl
}
},
schema: {
columns: {
OrderId: {dataName: "orderId"},
OrderDate: {dataName: "orderDate"},
RequiredDate: {dataName: "requiredDate"},
ShippedDate: {dataName: "shippedDate"},
ShipVia: {dataName: "shipVia"}
}
}
});