Introducing React ReExt – Sencha Ext JS Components in React! LEARN MORE

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

March 11, 2020 134 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に「行単位の編集」機能を追加するカスタマイズ方法を説明します。ご期待ください。

第3回:編集機能の追加や行の折りたたみ表示を読む

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

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

 

Recommended Articles

Virtual JS Days 2024のハイライト

2024年2月20日~22日、第3回目となる「Virtual JavaScript Days」が開催されました。JavaScript の幅広いトピックを採り上げた数多くのセッションを実施。その内容は、Senchaの最新製品、ReExt、Rapid Ext JSまで多岐にわたり、JavaScriptの最新のサンプルも含まれます。 このカンファレンスでは多くのトピックをカバーしています。Senchaでセールスエンジニアを務めるMarc Gusmano氏は、注目すべきセッションを主催しました。Marc は Sencha の最新製品「ReExt」について、詳細なプレゼンテーションを実施。その機能とメリットを、参加者に理解してもらうべく詳細に説明しました。 カンファレンスは、Senchaのジェネラルマネージャを務めるStephen Strake氏によるキーノートでスタートしました。キーノートでは、会社の将来のビジョンについての洞察を共有しています。世界中から JavaScript 開発者、エンジニア、愛好家が集まるとてもエキサイティングなイベントとなりました。これは、JavaScript エコシステムの最新情報について学ぶユニークな機会と言えます。

Ext JS 7.7リリース

このたび、Senchaチームは、Sencha Ext JS 7.7のリリースを発表しました。このリリースでは、7.6リリースに続き、Grid、Modern Sliderfieldなどユーザーの皆さんからの要望の多かった機能の強化に加え、双方のツールキットで、Grid、Chart、TreePanel、Timefield、ComboBox、Storeなどにフォーカスして品質改善を行っています。

Sencha 2023/2024 ロードマップアップデート

このブログ記事では、近い将来に計画しているSencha製品のリリースについての詳細を説明します。 Sencha チームでは、日々お客様と対話を続けており、皆さんのフィードバックが、製品全体の方向性の決定に大きな役割を果たしています。 ロードマップアップデートの詳細を説明する前に、Senchaの新しいサービスを含め、ここ数ヶ月で提供した内容についてまとめておきたいと思います。

JavaScript開発者必見のオンラインイベント「SenchaCon 2023」

常に最新のテクノロジー、ツール、トレンドを把握することの重要性を理解しているJavaScript開発者。そんなエンジニアを対象とした、オンラインイベント「SenchaCon 2023」が開催されます。 このカンファレンスでは、あらゆるレベルのJavaScript開発者が集い、スキルアップやナレッジを共有できる環境を提供します。SenchaCon 2023には、注目のスピーカーが登壇し、興味深いコンテンツをお届けします。まさに、必見のイベントです。 SenchaCon 2023は、米国中部標準の2023年4月12日9時(日本時間4月12日23時)に開催されます。

Sencha GRUIの新しいブランド・アイデンティティ「BestReactGrid」

Senchaでは、「Sencha GRUI」を「BestReactGrid」にリブランドし、Reactコミュニティに向け、React開発者のユーザーエクスペリエンスの向上を実現するスタンドアロンエンティティとして提供することを発表しました。この比類ない機能と特長により、BestReactGridは、世界中のReact開発者にとって絶好の選択肢となるものと期待されます。

Rapid Ext JS ベータ版を公開

今回、Rapid Ext JSベータ版をリリースしたことを発表します。このベータ版によって、新たに提供されるハイパフォーマンスツールを早期にお試しいただくことができます。すでに Sencha Ext JSを利用されている方は、新たにラインナップに加わるSencha Rapid Ext JSの登場を歓迎されていることと思います。Rapid Ext JSは、強力なローコード エディターであり、Ext JSによる開発をスピードアップすることが可能です。 この記事では、Rapid Ext JS のハイライトを紹介します。

View More