コンテンツへスキップ
有償UIライブラリ「Ignite UI」の一部を無償化
詳細を見る
Infragistics
無料トライアル

Ignite UIグリッドを使用して、アプリケーションを高速に開発

はじめに

Ignite UI for JavaScriptを使用すると、Webアプリケーションをより速く開発できます。Ignite UI for JavaScriptライブラリを使用すると、HTML5、jQuery、Angular、React、またはASP.NET MVCで、複雑なLOB要件をすばやく解決できます。Ignite UI for JavaScriptライブラリを使用して、ページング、並べ替え、検索、仮想化などの多くの機能を備えた、高速でレスポンシブなグリッドを追加してください。Ignite UI for JavaScriptのコントロール、データの可視化、チャート、フレームワーク要素は、構成とカスタマイズが簡単で、Webアプリケーションをすばやく作成できます。

大量のデータをシームレスに描画することに加えて、Ignite UI for JavaScriptグリッドは、フィルタリング、ページング、並べ替えなどの便利なツールを備えています。Ignite UI for JavaScriptの機能の詳細は、Ignite UI製品ページをご覧ください。また、インフラジスティックスが発行した無料の電子書籍Angular Essentialsで、Angularについてもさらに学ぶことができます。

レッスンの目標

  1. Ignite UI for JavaScript Angularコンポーネントを使用して、Ignite UI for JavaScriptグリッドを追加します。
  2. グリッドの列を構成します。

このレッスンで使用するコントロールの詳細については、データグリッドを参照してください。

このレッスンの終わりには、Angularアプリケーションで列が構成された、動作するグリッドができています。AngularでIgnite UI for JavaScriptを使用する方法の詳細は、GitHubのIgnite UI for JavaScript Angularコンポーネントページをご覧ください。

プロジェクトのセットアップ

このレッスンのスターター・プロジェクトをこちらをクリックしてダウンロードしてください。プロジェクトのセットアップが正しければ、以下の画像のように実行中のAngularアプリケーションが表示されます:

Ignite Gridを使ったプロジェクトのセットアップ

ステップ1 コンポーネントのインポートと宣言

Ignite UI for JavaScript Angularコンポーネントを操作するには、モジュールでそれらをインポートして宣言する必要があります。たとえば、AngularアプリケーションでigGridコンポーネントを使用するには、アプリケーションモジュールでIgGridComponentをインポートして宣言します。

プロジェクトで、Finance Appフォルダーに移動し、次にappフォルダーに移動します。app.module.tsファイルを開き、既存のimport文の直後に、以下のimport文を追加します。

import{IgGridComponent} from 'igniteui-angular2';
import {GridComponent} from './grid.component';

必要なコンポーネントをインポートした後、それらをアプリケーションモジュールで宣言する必要があります。AppModuleのdeclaration配列にIgGridComponentとGridComponentを追加します。以下に示すように、app.module.tsの@NgModuleデコレーターを変更してください:

@NgModule({
imports: [BrowserModule,HttpModule],
declarations: [AppComponent,
              IgZoombarComponent,
              IgDataChartComponent,
              PriceChartComponent,
              InfoComponent,
              IndicatorChartComponent,
              VolumeChartComponent,
              IgGridComponent, GridComponent],
              providers: [AppService],
              bootstrap: [AppComponent]
})
export class AppModule { }

AppModuleモジュールのdeclaration配列にIgGridComponentとGridComponentを追加しました。追加した他のコンポーネントやプロパティ(providersなど)については、後続のレッスンで確認します。

ステップ2 データソースを作成

グリッドにバインドするデータが必要です。このデータは、JavaScript配列またはJSONオブジェクト配列にすることができ、ローカルにあるものでも、RESTサービスから提供されるものでもかまいません。

理想的には、Angularサービス内でデータを返す関数を作成し、複数のコンポーネントでデータ関数を使用できるようにするとよいでしょう。このレッスンでは、GridComponentクラスに、JSONオブジェクト配列を返すgetData関数が既に用意されています。

appフォルダーで、grid.component.tsファイルを開き、getData()関数を見つけます。後のレッスンでは、RESTサービスのデータを使用するグリッドの作成方法を学びます。

ステップ3 データを取得

getData()関数から返されるデータを使用するには、AngularのngOnInit()ライフサイクルフックの内部で関数を呼び出し、返された値をGridComponentプロパティに代入します。

Angularのライフサイクルフックについて詳しくご覧ください。

appフォルダーで、grid.component.tsファイルを開き、以下に示すようにngOnInit()関数を変更します:

ngOnInit(){
  this.stocks = this.getData();
}

ステップ4 グリッドを作成

Ignite UI for JavaScript Angularグリッドコンポーネントは、他のコンポーネントと同様に使用できます。appフォルダーで、grid.component.htmlファイルを開き、以下に示すようにコードを追加します:

<ig-grid widgetId="grid1" [dataSource]="stocks" [autoGenerateColumns]="true">

ステップ5 アプリケーションで使用

アプリケーションでGridComponentを使用するには、appフォルダーでapp.component.htmlファイルを開き、すべてのマークアップの末尾、要素の下に、以下に示すコードを追加します。

<grid></grid>

アプリケーションに移動し、ページの一番下までスクロールして、以下の画像のように追加されたグリッドを見つけてください:

アプリケーションでIgnite Gridを使用する

ステップ6グリッドの列を構成する

ステップ4では、autoGenerateColumnsプロパティをtrueに設定してグリッドを作成しました。グリッドの列は自動的に生成されましたが、列を手動で構成することもできます。コンポーネント・クラスでは、列のほか、グリッドのページング、並べ替え、フィルタリングなどの機能も構成できます。

列を構成するには:appフォルダーでgrid.component.tsファイルを開き、以下のコードでgrid.component.tsファイル内のngOnInit()関数を更新します:

ngOnInit() {
  this.stocks = this.getData();
  this.gridId = "Grid1";
  this.gridOptions = {
    dataSource: this.stocks,
    autoGenerateColumns: false,
    columns: [
        { headerText: "CLOSE", key: "Close", dataType: "number" },
        { headerText: "DATE", key: "Date", dataType: "string" },
        { headerText: "HIGH", key: "High", dataType: "number" },
        { headerText: "LOW", key: "Low", dataType: "number" },
        { headerText: "OPEN", key: "Open", dataType: "number" },
        { headerText: "VOLUME", key: "Volume", dataType: "number" }
    ]
  }
}

ステップ7構成済みの列でグリッドを変更する

Ignite UI for JavaScriptのAngularグリッドのoptionsおよびwidgetIdプロパティは双方向データバインディングに対応しているため、ソースへの変更はすべてグリッドに反映されます。optionsおよびwidgetIdプロパティを設定するには:appフォルダーでgrid.component.htmlファイルを開き、以下のように変更します。

<ig-grid [(options)]= "gridOptions" [(widgetId)]="gridId">

アプリケーションに移動し、ページの一番下までスクロールして、以下のように追加されたグリッドを見つけてください:

構成済みの列でグリッドを変更する

まとめ

Ignite UI for JavaScriptを使用すると、Webアプリケーションをより迅速に作成できます。Angularに加え、Ignite UI for JavaScriptはReact、AngularJS、jQuery、ASP.NET MVCとも併用できます。