- Sencha.com—Japanese
Sencha

Ext JS Data Gridをすばやくカスタマイズする方法 (Part 6/6) 6/6) – Grid表示にカスタマイズしたCSSを適用する

2020-07-26 444 Views
表示

Grid表示にカスタマイズしたCSSを適用する「Ext JSグリッドのカスタマイズ」に関する全6回構成のブログシリーズの最後の記事では、カスタムCSSクラスをグリッドで利用する方法を説明します。カスタムCSSクラスを追加する方法はいろいろありますが、この記事で紹介するのはその一例です。

なお、第1回〜第5回の記事をまだ読んでいない場合は下記のリンクより記事をお読みいただけます。

第1回:GridとColumnのプロパティをカスタマイズする
第2回:グループ化されたグリッド
第3回:編集機能の追加や行の折りたたみ表示
第4回:データ表示形式を柔軟にカスタマイズする
第5回:ウィジェットカラムでグリッドをカスタマイズする

組み込みプロパティを使用する

グリッドとカラムは次の組み込みプロパティを備えており、スタイルのカスタマイズに利用できます。

グリッドのコンフィグ

カラムのコンフィグ

それでは、一連のブログシリーズと同様にNBA2020プレイヤーのレーティング情報を使用し、選手名、レーティング、チーム名を表示するGridを作成します。まず、選手名を表示する列にCSSを適用して文字を bold に設定してみます。

1. ‘player’ のデータを表示するカラムのコンフィグに tdCls を設定します。


{
    dataIndex: 'player',
    flex: 1,
    text: 'Name',
    //CSS class to add
    tdCls: 'player'
}                              
                            

2. tdClsで設定した名前を持つCSSクラスを作成します(Sencha Fiddle Tool の実装例では index.html の <style> に記述)

.player {
    font-weight: bold;
}
                            

この設定を行うと player の列 (ヘッダは Name と表示)が bold で表示されます。

組み込みメソッドを使用する

renderer メソッドを使用すると、現在のセルのメタデータのコレクションにアクセスしてデータ表示をカスタマイズできます。以下の例では ‘team’ 列の renderer メソッドのコンフィグをオーバーライドしています。

{
    dataIndex: 'team',
    text: 'Team',
    flex:1,
    //Use metadata to modify background color
    renderer: function (value, metaData) {
        metaData.tdAttr = 'bgcolor="grey"';
        return value;
}                                
                            

これにより Term の列は背景色がグレーに変わります。

テンプレート関数getRowClassをオーバーライドする

この関数をオーバーライドすることでレンダリング中の行全体にカスタムCSSクラスを適用できます。1. グリッドの viewConfig で getRowClass をオーバーライドします


viewConfig: {
    getRowClass: function(record, rowIndex, rowParams, store){
        return record.get("rating") > 86 ? "superstar" : "";
    }
}
                            

2. getRowClassで使用するCSSクラスを作成します(Sencha Fiddle Tool の実装例では index.html の <style> に記述)


.superstar {
    color: red;
}
                            

これにより、Rating が 86 を超える行はすべてのカラムで文字が赤色に変わります。

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

Fiddle での実行を確認したら、tdCls, renderer, viewConfig をコメントアウトして、表示がどのように変わるかを確かめてみてください。編集を間違えた場合はFiddleのページを再読み込みすれば元の状態に戻ります。

テーマ変数を使用する

Ext JSには、データグリッドを拡張するためのテーマ変数を豊富に備えています。テーマ変数についての詳細は、こちらのドキュメントをご覧ください。Ext JSでは、グリッドを思いどおりに表示させるための方法を豊富に備えており、カスタマイズを柔軟に行えます。


データグリッドのカスタマイズに関するこのシリーズをお楽しみいただけたでしょうか。このシリーズの他の記事をお読みでない方は、本記事の最初に紹介した記事のリンクより、これまでの記事にアクセスできます。しかしGridのカスタマイズはこれで終わりではありません。グリッドに関するすべての実用的なサンプルを掲載したSenchaの豊富な製品ドキュメントをご確認ください。あるいは、ここで取り上げられていないものをお探しでしょうか? それなら Stack Overflowのフォーラム をご利用ください。

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

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

表示
Ext JS開発を今すぐ始めよう

140以上のコンポーネントと強力なツールでWebアプリを10倍速く構築

最新記事
Upgrade Adviserを活用してExt JSアプリを新バージョンへ移行する
Upgrade Adviserを活用してExt JSアプリを新バージョンへ移行する

Ext JSのバージョン 3.x、4.x、5.x、6.xから最新の7.8にアップグレードするのは、大がかりな作業です。レガシーコードをレビューし、非推奨関数の対応、複数のバージョンにわたる互換性の問題への対応などが要求されるため、開発チームは相応の時間と労力を必要とします。

現代のビジネスアプリケーションにおけるJavaScriptグリッドのユースケーストップ3
現代のビジネスアプリケーションにおけるJavaScriptグリッドのユースケーストップ3

近年、さまざまな業界でグリッドの使用が著しい増加傾向にあります。これは、より大きなデータセットの処理と分析の必要性が増していることに起因します。金融、ヘルスケア、物流などの分野では、データを正確に操作する必要性が高まっています。これらの業界では、意思決定にスピードと正確性が求めらます。そうしたプロセスを強化するために JavaScriptグリッドが必要とされているのです。

GXT 4.2リリース
GXT 4.2リリース

Senchaチームは、GWT (旧 Google Web Toolkit) コンパイラを使用してWebアプリケーション開発を行う包括的なSencha Javaフレームワーク「GXT」のバージョン4.2をリリースしました。GXTを用いれば、Javaコードをコンパイルすることで、高度に最適化されたクロスプラットフォームHTML5アプリケーションを構築できます。

その他の記事

おすすめ記事

Upgrade Adviserを活用してExt JSアプリを新バージョンへ移行する

Ext JSのバージョン 3.x、4.x、5.x、6.xから最新の7.8にアップグレードするのは、大がかりな作業です。レガシーコードをレビューし、非推奨関数の対応、複数のバージョンにわたる互換性の問題への対応などが要求されるため、開発チームは相応の時間と労力を必要とします。

現代のビジネスアプリケーションにおけるJavaScriptグリッドのユースケーストップ3

近年、さまざまな業界でグリッドの使用が著しい増加傾向にあります。これは、より大きなデータセットの処理と分析の必要性が増していることに起因します。金融、ヘルスケア、物流などの分野では、データを正確に操作する必要性が高まっています。これらの業界では、意思決定にスピードと正確性が求めらます。そうしたプロセスを強化するために JavaScriptグリッドが必要とされているのです。

Sencha Architect 4.3.6リリース

Senchaチームは、Sencha Architect バージョン4.3.6の提供開始を発表します。この新バージョンでは、4.3.5リリースをベースとして、Ext JS 7.8での品質強化を受け、Classicツールキット向けの新機能Froalaサポートが追加されたほか、シームレスなインストール、容易なアップグレードプロセス、さらなる品質向上が図られています。

Sencha 2024/2025ロードマップ

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

Rapid Ext JS: エンタープライズ ローコード開発ツール

企業がどのように複雑なアプリを素早く構築しているのか、不思議に思ったことはありませんか? 今日のテクノロジー業界において、アプリケーションを素早く作成してリリースしたいという要求が重要になっています。そこで「ローコード開発」です。ローコード開発は、企業のソフトウェア開発の手法を変革します。そして、「Rapid Ext JS」が、開発者の作業を容易にします。

Ext JS ClassicとModern ツールキットの違いを理解する

Ext JSは、強力なWebアプリケーション/モバイルアプリケーションを構築するためのJavaScriptフレームワークです。フレームワークには、140を超える高性能でフルテスト済のカスタマイズ可能な UIウィジェット/コンポーネントが搭載されています。さらに、すべての最新ブラウザに対応し、クロスプラットフォーム開発をサポートしています。Ext JSは、アプリを構築するための2つのツールキット(Classic ToolkitとModern Toolkit)を提供しています。それぞれのツールキットは、異なるユースケースに対応するように設計されており、独自の機能と利点を提供します。

ブログ記事一覧