ig.DataSchema
DataSchema コンポーネントは DataSource の Array、JSON および Xml データ オブジェクトの変換を処理します。他のデータ タイプは、DataSource 自身が最も適切に処理できます。DataSchema コンポーネントのその他の例は、DataSource API マニュアルを参照してください。この API のクラス、オプション、イベント、メソッドおよびテーマの詳細については、上記の関連するタブを参照してください。
以下のコードは、DataSchema コントロールの初期化方法を示します。
この API を使用した作業方法の詳細についてはここをクリックしてください。DataSchema コントロールの必要なスクリプトおよびテーマを参照する方法については、 「Ignite UI で JavaScript リソースを使用する」および Ignite UI のスタイル設定とテーマを参照してください。コード サンプル
<!doctype html> <html> <head> <!-- Infragistics Combined CSS --> <link href="css/themes/infragistics/infragistics.theme.css" rel="stylesheet" type="text/css" /> <link href="css/structure/infragistics.css" rel="stylesheet" type="text/css" /> <!-- jQuery Core --> <script src="js/jquery.js" type="text/javascript"></script> <!-- jQuery UI --> <script src="js/jquery-ui.js" type="text/javascript"></script> <!-- Infragistics Combined Scripts --> <script src="js/infragistics.core.js" type="text/javascript"></script> <script type="text/javascript"> var ds, render, products, arraySchema; render = function (success, error) { if (success) { var resultHtml = $.ig.tmpl("<tr><td>${ProductID}</td><td>${Name}</td><td>${ProductNumber}</td></tr>", ds.dataView()); $("#table").html(resultHtml); } else { alert(error); } }; products = [ { "ProductID": 1, "Name": "Adjustable Race", "ProductNumber": "AR-5381" }, { "ProductID": 2, "Name": "Bearing Ball", "ProductNumber": "BA-8327" } ]; arraySchema = new $.ig.DataSchema("array", { fields: [{ name: "ProductID", type: "number" }, { name: "Name", type: "string" }, { name: "ProductNumber", type: "string" }] }); $(function () { ds = new $.ig.DataSource({ dataSource: products, callback: render, schema: arraySchema }); ds.dataBind(); }); </script> </head> <body> <table id="table"></table> </body> </html>
関連サンプル
関連トピック
依存関係
-
schema
- タイプ:
- object
- デフォルト:
- {}
$.ig.DataSchema は、Array、JSON、Xml、およびデータ オブジェクトの変換を処理します。
データがその他の形式の場合、および/または追加作業が必要になる場合は、それをまず $.ig.DataSource に渡してください。
例: リモートでデータをフェッチする必要がある場合、またはデータが文字列に含まれており、まず評価する必要がある場合。コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields:[ {name : "FirstName", xpath: "generalInfo/@firstName"}, {name : "LastName", xpath : "generalInfo/@lastName"}, {name : "Email", xpath : "generalInfo"} ], searchField:"//person" } );
-
childDataProperty
- タイプ:
- string
- デフォルト:
- null
これは、レコードの子レコードが配置されるデータ ソース内のプロパティ (xpath) です。XML バインディングで使用されます。
-
fields
- タイプ:
- object
- デフォルト:
- []
データ ソースのスキーマを指定するフィールド定義のリスト。フィールド オブジェクトの説明: {name, [type], [xpath]}。
returnType="array"コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields:[ {name : "FirstName", xpath: "generalInfo/@firstName"}, {name : "LastName", xpath : "generalInfo/@lastName"}, {name : "Email", xpath : "generalInfo"} ], searchField:"//person" } );
-
formatter
- タイプ:
- object
- デフォルト:
- ""
ParamType="function" optional="true" 3 つのパラメーターを受け付ける formatter 関数: val - フィールドの値; record - データ ソース レコード; field - フィールド定義; 書式設定された文字列を返します。formatter 関数は、すべてのフィールドでフィルターするときに使用されます。
-
mapper
- タイプ:
- enumeration
- デフォルト:
- ""
このオプションは、fieldDataType="object" のフィールドのみ適用できます。戻り値がこのフィールドに関連するすべてのデータ操作で使用されるデータ レコードからの複合データ抽出のために使用される関数 (文字列または関数) への参照。
コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields: [ {name: "ID", type: "number"}, {name: "Name", type: "number"}, {name: "Price", type: "string"}, {name: "Category", type: "object", mapper: function (record) { return record.Category.Name; } }] } );
-
name
- タイプ:
- string
- デフォルト:
- ""
フィールドの名前。
コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields: [ {name: "ID", type: "number"}, {name: "Name", type: "number"}, {name: "Price", type: "string"} ] } );
-
type
- タイプ:
- enumeration
- デフォルト:
- ""
フィールドのデータ型。string、number、bool、date、time、または object です。
メンバー
- time
- タイプ:object
- string
- number
- bool
- date
- object
コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields: [ {name: "ID", type: "number"}, {name: "Name", type: "number"}, {name: "Price", type: "string"}, {name: "OrderDate", type: "date"}, {name: "Delivered", type: "bool"}, {name: "Category", type: "object", mapper: function (record) { return record.Category.Name; } }] } );
-
xpath
- タイプ:
- string
- デフォルト:
- ""
ノードをフィールドにマップするための XPath 式。
コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields:[ {name : "ID", xpath: "generalInfo/@ID"}, {name : "Name", xpath : "generalInfo/@Name"}, {name : "Email", xpath : "generalInfo/@Email""} ] } );
-
outputResultsName
- タイプ:
- string
- デフォルト:
- null
これは、実際の結果レコードが配置される結果オブジェクト内のプロパティです。(つまり、これが定義される場合、結果は配列ではなくオブジェクトです)、潜在的なデータ ソース変換の後。
コード サンプル
var arrayOfObjectsSchema = new $.ig.DataSchema( "array", { outputResultsName: "res_data", fields:[ {name: "make", type: "string"}, {name: "model", type: "string"}, {name: "year", type: "number"} ] } );
-
searchField
- タイプ:
- string
- デフォルト:
- null
これは、レコードが配置されるデータ ソース内のプロパティ (パス) です。
コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields:[ {name : "FirstName", xpath: "generalInfo/@firstName"}, {name : "LastName", xpath : "generalInfo/@lastName"}, {name : "Email", xpath : "generalInfo"} ], searchField:"//person" } );
-
ig.DataSchema
コンストラクター- new $.ig.DataSchema( type:object, options:object );
- type
- タイプ:object
- options
- タイプ:object
コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields:[ {name : "FirstName", xpath: "generalInfo/@firstName"}, {name : "LastName", xpath : "generalInfo/@lastName"}, {name : "Email", xpath : "generalInfo"} ], searchField:"//person" } );
-
fields
- .fields( );
- 返却型:
- array
データ ソースのスキーマを指定するフィールド定義のリスト。
フィールド オブジェクトの説明: {fieldName, [fieldDataType], [fieldXPath]}。コード サンプル
var xmlSchema = new $.ig.DataSchema( "xml", {fields:[ {name : "FirstName", xpath: "generalInfo/@firstName"}, {name : "LastName", xpath : "generalInfo/@lastName"}, {name : "Email", xpath : "generalInfo"} ], searchField:"//person" } ); var fields = xmlSchema.fields();
-
isEmpty
- .isEmpty( o:object );
オブジェクトが null、未定義、空の文字列かどうかを指定します。
- o
- タイプ:object
- 空かどうかを確認するオブジェクト。
コード サンプル
var arrayOfObjectsSchema = new $.ig.DataSchema("array", { outputResultsName: "res_data", fields:[ { name: "make", type: "string" }, { name: "model", type: "string" } ] }); var result = arrayOfObjectsSchema.isEmpty(obj);
-
isObjEmpty
- .isObjEmpty( obj:object );
オブジェクトにカスタム プロパティがあるかどうかを指定します。
- obj
- タイプ:object
- カスタム プロパティがあるかどうかを確認するオブジェクト。
コード サンプル
var arrayOfObjectsSchema = new $.ig.DataSchema("array", { outputResultsName: "res_data", fields:[ { name: "make", type: "string" }, { name: "model", type: "string" } ] }); var result = arrayOfObjectsSchema.isObjEmpty(obj);
-
transform
- .transform( data:object );
- 返却型:
- object
- 返却型の説明:
- 変換されたデータ。
結果のデータがスキーマと一致するためにスキーマで変換を実行します。
- data
- タイプ:object
- 変換するデータ。
コード サンプル
var arrayOfObjectsSchema = new $.ig.DataSchema("array", { outputResultsName: "res_data", fields:[ { name: "make", type: "string" }, { name: "model", type: "string" } ] }); var data = arrayOfObjectsSchema.transform(arrayOfObjects);