Angularで利用するSpread.Sheetsの独自タグ
リスト6では、Spread.Sheetsのスプレッドシートやワークシートを独自タグで記述しました。独自タグの実体は、Spread.Sheetsの機能を提供するAngularのコンポーネントです。利用できる独自タグを表2に示します。
| No. | 独自タグの記述 | 意味 | 
|---|---|---|
| 1 | <gc-spread-sheets> | スプレッドシート | 
| 2 | <gc-worksheet> | ワークシート | 
| 3 | <gc-column> | 列 | 
Spread.Sheetsの独自タグに属性を設定して、表示内容をカスタマイズする方法を、図4のサンプル(P002-component)で説明していきます。
 
 Spread.Sheets独自タグの階層構造
コンポーネントのテンプレートは、リスト7のように記述します。
<!-- スプレッドシート ...(1)-->
<gc-spread-sheets
  [hostStyle]="hostStyle" [newTabVisible]="newTabVisible">
  <!-- ワークシート1 ...(2)-->
  <gc-worksheet [name]="workSheetName1"
    [dataSource]="workSheetData">
    <gc-column [width]="column1Width"></gc-column> <!-- 列1 ...(3)-->
    <gc-column [width]="column2Width"></gc-column> <!-- 列2 ...(4)-->
  </gc-worksheet>
  <!-- ワークシート2 ...(5)-->
  <gc-worksheet [name]="workSheetName2">
  </gc-worksheet>
</gc-spread-sheets>
  スプレッドシートを表す<gc-spread-sheets>(1)の配下に、ワークシートを表す(2)と(5)の<gc-worksheet>を配置します。1つめのワークシート配下には、列を表す(3)と(4)の<gc-column>を配置します。このように、Spread.Sheetsの独自タグは、<gc-spread-sheets>→<gc-worksheet>→<gc-column>といった階層構造で利用します。
各タグにAngularのデータバインディング([]で囲まれたタグ属性)でプロパティを設定します。プロパティの内容は、app.component.tsでリスト8のように記述します。
export class AppComponent {
  // スプレッドシートにスタイルを設定 ...(1)
  hostStyle:any = {
    width:"480px", height:"200px", marginTop:"20px"
  };
  // ワークシート追加を許可しない ...(2)
  newTabVisible:boolean = false;
  // ワークシート名を設定 ...(3)
  workSheetName1:string = "くだもの";
  workSheetName2:string = "その他";
  // ワークシートにデータを設定...(4)
  workSheetData:any = [
    {"種類":"リンゴ", "在庫": 100},
    {"種類":"みかん", "在庫": 50},
    {"種類":"ブドウ", "在庫": 30},
    {"種類":"バナナ", "在庫": 40},
    {"種類":"マンゴー", "在庫": 120},
    {"種類":"パイナップル", "在庫": 200}
  ];
  // 列幅の設定 ...(5)
  column1Width:number = 240;
  column2Width:number = 120;
}
  リスト8では、表3のようなプロパティをSpread.Sheetsに設定しています。
| 番号 | 独自タグ | 独自タグの属性 | 意味 | 型 | リスト8での変数名 | 
|---|---|---|---|---|---|
| (1) | <gc-spread-sheets> | [hostStyle] | スタイル(幅、高さなど) | any | hostStyle | 
| (2) | <gc-spread-sheets> | [newTabVisible] | ワークシート追加を許可するかどうか | boolean | newTabVisible | 
| (3) | <gc-worksheet> | [name] | シート名 | string | workSheetName1, workSheetName2 | 
| (4) | <gc-worksheet> | [dataSource] | 表示するデータ | any | workSheetData | 
| (5) | <gc-column> | [width] | 列の幅 | number | column1Width, column2Width | 
(1)の[hostStyle]には、CSSのプロパティ名(「margin-top」ならば「marginTop」と記述)と、設定値のペアを含むJavaScriptオブジェクトを設定します。(4)の[dataSource]には、表示するデータ項目名とデータ値のペアをJavaScript配列で設定します。
独自タグに設定できるすべての属性は、Spread.Sheetsのドキュメント(スプレッドシート、ワークシート、列)を参照してください。

 
              
               
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                              
                               
                              
                               
                              
                               
                              
                               
                              
                               
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
															
														 
															
														.png) 
     
     
     
     
     
													 
													 
													 
													 
													 
										
									
 
                     
                    
