Ignite UI for jQueryグリッドでソート、ページング、フィルタリング

始めに

Ignite UI for jQuery/HTML5 and ASP.NET MVC を使用することで、Web アプリケーションを素早く構築しましょう。Ignite UI for jQueryを使用すると、HTML5、jQuery、Angular、React、または ASP.NET MVC プラットフォームで複雑な業務要件を解決するアプリケーションを構築できます。さらにグリッドのレスポンシブ機能やページング、ソート、仮想化機能を利用できます。

Ignite UI for jQuery Grid には、フィルタ処理、ページング、ソートなど、多くの機能を有しています。詳細については Ignite UI for jQuery製品ページをご覧ください。

このレッスンでは Ignite UI for jQueryグリッドの重要な機能を設定する方法を学びます。

レッスンの目的

  1. グリッドでソートを有効化
  2. グリッドでフィルタリングを有効化
  3. グリッドでページングを有効化

コントロールの詳細については Ignite UI データ グリッドをご覧ください。

このレッスンを終えると、Angularアプリケーションに追加したグリッドにおいてソート、フィルタリング、ページング機能を利用することができるようになります。

Ignite UI for jQueryをAngularで使用するための詳細については Ignite UI for jQuery Angular ラッパーページをご覧ください。

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

こちらをクリックするとレッスンに必要なプロジェクトをダウンロードできます。(こちらからは完成版をダウンロードできます。)

ダウンロードを終えた後、プロジェクトのフォルダーに移動し、下記のコマンドを実行します。

  • npm install
  • npm start

npm installコマンドを実行することで全ての依存する項目がインストールされます。npm startコマンドを実行することで Angularアプリケーションが実行されます。プロジェクトのセットアップが正しく行われている場合、下記のイメージのようなアプリケーションが実行されます

下部にスクロールするとグリッドが表示されます。子のグリッドに対して設定を行います。

Setting up project with Ignite Grid

手順 1: ソートの有効化

グリッドにおいて "Sorting" を設定することでソートを有効化できます。Ignite UI for jQueryグリッドはローカル、およびリモート ソートを利用できます。

ローカルの並べ替えを有効にするには、次のプロパティを持つオブジェクトを作成し、Grid の features プロパティに追加します。

  • name : "Sorting"
  • type : "local"

grid.component.tsを開きgetData()関数の直後に下記のgetGridFeatures()関数を定義します。

getGridFeatures()
{
  return [
  {
    name: "Sorting",
    type: "local"
  }
  ];
}

次に、グリッドオプションに並べ替え機能を追加します。this.gridOptionsでは、featureと呼ばれる新しいプロパティを追加し、その値を this. getGridFeatures()に設定します。grid.component.tsのngOnInit()関数を下記のように変更します。

ngOnInit() {
  this.stocks = this.getData();
  this.gridId = "grid1"
  this.gridOptions = {
    dataSource: this.stocks,
    autoGenerateColumns: true,
    features: this.getGridFeatures()
  }
}

アプリケーションを実行し、グリッドが表示されていることを確認します。

Step 1: Enable Sorting

いずれかの列をクリックすると、上記の画像に示されているように、グリッドがその特定の列に対してソートされていることがわかります。さらに、並べ替えられた列ヘッダーには並べ替えインジケーターが適用されているおり、ソート可能な列はグリッド内の残りの列から視覚的に区別されます。Ignite UI for jQueryは複数列のソートについてもサポートしています。

ローカルのソート設定が完了しました。Ignite UI for jQueryはリモートでのソート機能もサポートしています。詳細についてはヘルプをご覧ください。

手順 2: ページングの有効化

グリッドにおいて"Paging"を設定することでページングを有効化できます。Ignite UI for jQueryグリッドはローカル、およびリモート ページングを利用できます。

ローカルのページングを有効にするには、次のプロパティを持つオブジェクトを作成し、Grid のfeaturesプロパティに追加します。

  • name : "Paging"
  • type : "local"
  • pageSize : 5

更にドロップダウンの表示、非表示、あるいはページング ボタンの表示、非表示を設定できます。コードは下記の通りとなります。

{
  name: "Paging",
  type: "local",
  pageSize: 5
}

features オブジェクト配列に上記のオブジェクトを追加します。grid.component.tsを開き、 getGridFeatures()関数をページングとソートの両方の機能設定を返すように変更します。ページング機能を追加した後の getGridFeatures()関数は以下のようになります。

getGridFeatures() {
  return [
  {
    name: "Sorting",
    type: "local"
  },
  {
    name: "Paging",
    type: "local",
    pageSize: 5
  }
  ];
}

アプリケーションを実行し、下にスクロールするとページングが有効化されたグリッドを確認できます。

Step 2: Enable Paging

Ignite UI for jQueryはリモートでのページング機能もサポートしています。詳細についてはヘルプをご覧ください。

手順 3: フィルタリングの有効化

グリッドにおいて"Filtering"を設定することでフィルタリングを有効化できます。

フィルタリングを有効にするには、次のプロパティを持つオブジェクトを作成し、Gridの featuresプロパティに追加します。

  • name : "Filtering"
  • allowFiltering : true
  • caseSensitive: falseまたはtrue

下記のような設定となります。

{
  name: "Filtering",
  allowFiltering: true,
  caseSensitive: false
}

features オブジェクト配列に上記のオブジェクトを追加します。grid.component.tsを開き、 getGridFeatures()関数をページング、ソート、フィルタリングの各機能設定を返すように変更します。getGridFeatures()関数は以下のようになります。

getGridFeatures() {
  return [
  {
    name: "Sorting",
    type: "local"
  },
  {
    name: "Paging",
    type: "local",
    pageSize: 5
  },
  {
    name: "Filtering",
    allowFiltering: true,
    caseSensitive: false
  }
  ];
}

アプリケーションを実行し、下にスクロールするとフィルタリングが有効化されたグリッドを確認できます

Step 3: Enable Filtering

これでフィルタリング、ページング、ソートが設定されたグリッドが完成しました。

結びに

Ignite UI for jQueryは Web アプリケーションを素早く構築するのに役立ちます。Angular に加え、Ignite UI for jQueryは、React、AngularJS、jQuery、ASP.NETで使用することができます。このレッスンでは Ignite UI for jQueryに含まれている Angularアプリケーションに含まれているグリッドの基本的な機能を設定する方法について学習しました。