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

Ext JS Data Gridをすばやくカスタマイズする方法(part 3/6)– 編集機能の追加や行の折りたたみ表示

April 12, 2020 130 Views
Show

全6回構成の「Ext JSグリッドのカスタマイズ」ブログシリーズの3回目の記事では、Row Editingを使用してデータグリッドをカスタマイズすることにフォーカスします。 シリーズの第1回と第2回は次のリンクよりお読みいただけます。

第1回:GridとColumnのプロパティをカスタマイズする
第2回:グループ化されたグリッド

ここで用いるグリッドのサンプルではNBA 2020プレーヤーのレーティング情報をサンプルデータとして使用します。

Cell Editing/Row Editing

1. Gridのコンフィグでcelleditingのプラグインをアクティブにする

    plugins: {
        cellediting: {
            clicksToEdit: 1
        }
    }

2. カラムのコンフィグでエディタを定義する(エディタは、テキストフィールド、日付フィールド、または数値フィールドを指定可能)

    {
        dataIndex: 'position',
        text: 'Position',
        flex: 1,
        editor: {
            xtype: 'combo',
            typeAhead: true,
            triggerAction: 'all',
            selectOnFocus: false,
            store: [
                'SG', 'PG','SF', 'C','PF'
            ]
        }
    }

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

RowExpander

グリッド行の下にはネストされた行を簡単な手順で追加できます。ネストされた行は折りたたむことができます。

Gridのコンフィグで rowexpander プラグインを使用し、折りたたみ行で表示する情報のテンプレートを設定します

    plugins: {
    	rowexpander: {
            rowBodyTpl: new Ext.XTemplate(
                '<p><b>Team:</b> {team}</p>',
                '<p><b>Overall rating:</b> {rating:this.formatRating}</p>',
                {
                    formatRating: function(v) {
                        var color = v >= 85 ? 'red' : 'blue';
                        return '<span style="color: ' + color + '">' + v + '</span>';
                    }
                })
    	}
    }

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

RowWidgets [classic]

折りたたみ表示の行には、widget を追加して別のパネルやグリッドを表示できます。

rowwidgetプラグインをgridのコンフィグに記述し、表示したいコンポーネント(ここではPanel)のコンフィグを記述します。

    plugins: {
        rowwidget: {
            widget: {
                xtype: 'panel',
                title: 'Panel in rowwidget',
                bind: {
                    html : '{record.bio}'
                }
            }
        }
    }

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

次回の記事では、カラムに表示するデータの表示形式を柔軟にカスタマイズする方法を解説します。

第4回:データ表示形式を柔軟にカスタマイズするを読む

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

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

Recommended Articles

Ext JS Performance Optimization for Large-scale Applications

Are you facing issues with Ext JS applications’ performance as they scale up? Don’t worry! This blog covers the main topics for optimizing Ext JS…

Ext JS Dynamic Forms: Hands-On Guide to Create Data Forms

Dynamic forms are changing the online world these days. ExtJS can help you integrate such forms into your website. It has scalable and excellent reusable…

JavaScript Design Patterns: A Hands-On Guide with Real-world Examples

As a web developer, you know how popular JavaScript is in the web app development landscape. It powers thousands of web applications, from simple to…

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 エコシステムの最新情報について学ぶユニークな機会と言えます。

JS Frameworks: A Guide to Dodging 10 Common Blunders

Ext JS is one of the most popular JS frameworks for creating interactive websites. However, beginners often face challenges when using it. This guide helps…

7 Tips for Optimizing Performance in JavaScript Grids

A JavaScript data grid is a UI element that enables developers to efficiently present data in a tabular format. These grids essentially allow us to…

View More