ig.DataSchema

ig.DataSchema_image

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>

    

関連サンプル

関連トピック

依存関係

jquery-1.9.1.js
infragistics.util.js
infragistics.util.jquery.js
  • 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);
          

Copyright © 1996 - 2019 Infragistics, Inc. All rights reserved.