まずMultiRowを表示してみる
最初に、MultiRowを表示する基本的な実装方法を、図2のサンプルで説明します。MultiRowでは苗字と名前、性別と誕生日のように、複数の項目を1列に表示できます。
まず、ルートモジュール定義ファイルapp.module.tsの(1)でMultiRowを含むWjGridMultirowModuleモジュールを参照して、(2)でインポートするように設定します。
// MultiRowのモジュールを参照 ...(1)
import { WjGridMultirowModule } from "wijmo/wijmo.angular2.grid.multirow";
(略)
@NgModule({
imports: [
BrowserModule,
WjGridMultirowModule // MultiRowのモジュールをインポート ...(2)
],
(略)
})
ルートコンポーネントのテンプレートファイルapp.component.htmlに、Angular対応のMultiRow(WjMultiRowクラス)に対応する<wj-multi-row>タグを記述します。itemsSource属性には表示するデータ、layoutDefinition属性にはレイアウト定義を指定します。
<wj-multi-row [itemsSource]="data" [layoutDefinition] = "layoutDef"> </wj-multi-row>
コンポーネント実装app.component.tsに、itemsSource属性、layoutDefinition属性の値を、リスト4のように記述します。
export class AppComponent {
// 表示するデータ ...(1)
data = [
{
苗字: "阿部", 名前: "博", 性別: "男", 誕生日: new Date("1980/01/01"),
身長: 170.5, 体重: 55.2, 血液型: "O", 連絡済: true
},
(略)
];
// MultiRowのレイアウト定義 ...(2)
layoutDef = [
// 1列目に苗字と名前を表示するレイアウト定義 ...(3)
{
header: "氏名",
cells: [
{ binding: "苗字", align: "center" },
{ binding: "名前", align: "center" },
]
},
{
(2列目のレイアウト定義)
},
(以下、3列目以降のレイアウト定義)
];
}
(1)がitemsSource属性に設定するデータで、苗字、名前、性別などを、JavaScriptオブジェクトの配列で指定します。(2)がlayoutDefinition属性に設定するレイアウト定義で、各列の表示内容をJavaScriptオブジェクトの配列で指定します。たとえば(3)では、苗字と名前を縦に並べて一列に表示するように指定しています。このようなMultiRowの1列をグループと呼びます。

