Sencha Ext JS 7.7 is Here – Discover What’s New and Exciting – LEARN MORE

Ext JS Data Gridをすばやくカスタマイズする方法(part 2/6)

March 11, 2020 114 Views
Show

全6回構成の「Ext JS Data Gridカスタマイズ」ブログシリーズ最初の記事では、GridやColumnのプロパティをカスタマイズしてデータグリッドを外観や機能を変更する方法を説明しました。この記事ではデータ表示用のメソッドグリッドを用いてデータグリッドをすばやくカスタマイズする方法を説明します。

ここで使用するグリッドの例ではNBA 2020プレイヤーのレーティングを表示します。

このブログでは、「グループ化のメソッド」を使用したグリッドのカスタマイズについて説明します

 

グループ化されたグリッド

グループ化されたグリッドは、フィールドのデータによるグループ化を実現し、行/列データの見やすい表示を提供します。

この機能を有効にするコードは次のとおりです。

1.グリッド構成で grouping の features をアクティブにします。

    features: [{
        ftype: 'grouping'
    }],

2.ストアのコンフィグで groupField を定義します。

    store: {
        model: 'Player',
        //グループ化するフィールドを指定する
        groupField: 'team',
        data: [/* ... */]
    },

3.グリッドをカスタマイズします(ヘッダのカスタマイズやサマリ行の追加を行います)

    features: [{
          ftype: 'grouping',
          //グループヘッダーをカスタマイズ
          groupHeaderTpl: 'Team: {name}',
          //グループごとにサマリ行を表示
          showSummaryRow: true
    }],
 
    columns: [{
    	  dataIndex: 'player',
    	  flex: 1,
          text: 'Name',
          //サマリ行に件数を出力
          summaryType: 'count',
          //サマリの表示形式をカスタマイズする
          summaryRenderer: function (value) {
              return Ext.String.format('{0} player{1}', value, value !== 1 ? 's' : '');
          }
          }, {
    	  dataIndex: 'rating',
          text: 'Rating',
          //サマリ行に平均値を出力
          summaryType: 'average',
          flex: 1
        }
    ]

このコードをFiddle Toolで確認して実行する

 

グループ化されたグリッドヘッダ

ユーザーはグループ化されたグリッドヘッダを使用してヘッダ表示をカスタマイズできます

Columnの表示ヘッダをグループ化するコードは次のように columns をネストして記述します。

columns: [
    {
        dataIndex: 'player',
        flex: 1,
        text: 'Name',
    },{
        //親カラム
        text: 'Rating',
        //親カラムに入れる子カラム
        columns: [{
            dataIndex: 'rating',
            text: 'Overall rating',
            flex: 1
        },{
            dataIndex: 'threePointRating',
            text: '3PT rating',
            flex: 1
        },{
            dataIndex: 'dunkRating',
            text: 'Dunk rating',
            flex: 1
        }]
    }, {
        dataIndex: 'position',
        text: 'Position',
        flex: 1
    },{
        dataIndex: 'ht',
        text: 'Height',
        flex: 1
    }
]

このコードをFiddle Toolで確認して実行する

次回のブログ記事ではGridに「行単位の編集」機能を追加するカスタマイズ方法を説明します。ご期待ください。

 

Ext JS 7.1でデータグリッドを作成する

Ext JS 7.1の30日間無料トライアルは、製品の全ての機能にアクセスできます。アプリケーションに高性能なデータグリッドを作成する方法をお読みいただき、Get Started のドキュメントから始めましょう!

 

Recommended Articles

Ext JS Data Gridをすばやくカスタマイズする方法(part 2/6)

全6回構成の「Ext JS Data Gridカスタマイズ」ブログシリーズの最初の記事では、GridやColumnのプロパティをカスタマイズしてデータグリッドを外観や機能を変更する方法を説明しました。この記事ではデータ表示用のメソッドグリッドを用いてデータグリッドをすばやくカスタマイズする方法を説明します。

Ext JS Data Gridをすばやくカスタマイズする方法(part 1/6)

Ext JS Data Gridは、高速で強力かつ柔軟に利用できます。Ext JSを使用すると、ユーザーは自分のアプリケーションに合わせてグリッドの外観をすばやくカスタマイズできます。全6回構成のブログシリーズでExt JS Data Gridをカスタマイズするさまざまな方法をカバーします。

Sencha Ext JS 7.1およびツールの提供開始のお知らせ

Ext JS、ExtAngular、ExtReact、ExtWebComponents、およびツールのバージョン7.1を提供開始いたしました。この記事ではバージョン7.1の改善点について紹介します。

Sencha 2019/2020 ロードマップアップデート

少し前にSenchaのロードマップをご案内しました。これについてお客様から素晴らしいフィードバックをいただいており、2019/2020ロードマップにそれらの提案を取り入れたいと思います。

今秋のアップデート – Senchaジェネラルマネージャのデスクから

前回Senchaコミュニティに情報発信してから、数週間が経ちました。私たちのプライオリティと製品ロードマップは、お客様の声によって形成されており、皆さんがすばらしいアプリケーションを構築できるような価値ある製品強化を提供していきたいと考えています。今回、いくつかの進行中の開発状況に関して紹介するとともに、コミュニティの皆さんにアップデートを提供したいと思います。

コンポーネントファーストのアプローチでアプリ開発をスピードアップ

開発者は、アプリケーションを構築し、迅速かつ効率的に市場に投入するために、再利用可能かつポータブルなコードに長い間依存してきました。コンポーネントベースの開発は、ReactやAngularなどの人気のあるフロントエンドフレームワークの多くで開発されたアプリケーションのホームを見つけてきた、JavaScriptの現代の進化を通じて人気を維持しています。

View More

coming soon

Something Awesome Is

COMING SOON!