- Sencha.com—Japanese
Sencha

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

2020-03-10 360 Views
表示

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

ここではNBA 2020プレーヤーの評価を表示する単純なグリッドを作成します。

最初のブログ記事では、GridとColumnに予め用意されているプロパティを使ったデモを用いて説明します

 

Ext JS Grid のセットアップ

最初に定義するのはExt.data.Modelです。これは基本的にデータのタイプを表すフィールドのコレクションです。ここでは ‘player’, ‘team’, ‘rating’ のフィールドを定義しています。

Ext.define('Player', {
    extend: 'Ext.data.Model',
    fields: ['player', 'team', {
        name: 'rating',
        type: 'int'
    }]
});

次にExt.data.Storeをセットアップします。これはユーザインスタンスを含みます。この例は個々のデータをStoreに直接記述して静的な情報として定義していますが、実際のアプリケーションでは、データをサーバーからロードすることもできます。この操作は Ext.data.proxy.Proxy を用いて容易に行えます。

ここでは ’player’, ’team’. ‘rating’ として扱うデータを保持しています。

 

 var store = Ext.create('Ext.data.Store', {
    model: 'Player',
    data: [{
        player: 'Kemba Walker',
        team: 'Boston Celtics',
        rating: 88
    }, {
        player: 'Josh Richardson',
        team: 'Philadelphia 76ers',
        rating: 79
    }]
});

データの表示は Ext.grid.Panel を使用し、必要なカスタマイズを行います。

Ext.create('Ext.grid.Panel', {
    renderTo: document.body,
    title: 'NBA 2K20 player rating',
    //使用するストアの定義
    store: store,
    columns: [{
        dataIndex: 'player',
        text: 'Name',
    }, {
        dataIndex: 'rating',
        text: 'Rating',
    }, {
        dataIndex: 'team',
        text: 'Team',
    }]
});

GridとColumnのプロパティをカスタマイズする

先程作成したGridはカスタマイズを行っておらず、魅力的なものとは感じられません。そこでGridの機能をより使いやすくカスタマイズする際に使用できる一般的なプロパティを次に示します。

Gridのプロパティ:

  • collapsible:Gridのヘッダに配置されたアイコンで展開/折りたたみ操作を可能にする
  • headerBorders [Classic]:Gridの境界線の表示、非表示を設定する
  • selModel [Classic]:Gridに表示したデータの選択方法の設定
  • hideHeaders:Columnのヘッダを非表示にする
  • title:Columnのタイトルバーにタイトルを表示する
  • width, height:Gridの幅と高さを指定する
  • store:表示されるデータが含まれるStoreを指定する

Column のプロパティ:

  • dataIndex : Modelのフィールド名を指定する
  • textColumnヘッダーのテキストを設定する
  • locked特定のColumnを固定表示する
  • sortableColumnのソートを許可する
  • widthColumnの幅を調整する
  • flexColumnのflexを調整する
  • alignColumnの整列方法を調整する

Ext.create('Ext.grid.Panel', {
  renderTo: document.body,
  title: 'NBA 2K20 player rating',
  //グリッドパネルの折り畳み/展開を有効にする
  collapsible: true,
  //ヘッダの境界線を表示
  headerBorders: true,
  //使用するストアの定義
  store: store,
  columns: [{
    dataIndex: 'player',
    text: 'Name',
    //このカラムを固定表示する
    locked: true,
    width: 150,
    //カラムのソート機能を無効化
    sortable: false
  }, {
    dataIndex: 'rating',
    text: 'Rating',
    flex: 1
  }, {
    dataIndex: 'team',
    text: 'Team',
    flex: 1,
    //カラムのソート機能を無効化
    sortable: false
  }]
});

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

その他のコンフィグやプロパティについては Ext JS GridPanel のドキュメントをお読みください。

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

Part2の記事を読む

 

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

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

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

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

最新記事
GXT 4.2リリース

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

Rapid Ext JSの提供を開始 - Ext JSアプリケーション開発のためのローコードエディター

Ext JS開発を効率化し、生産性を加速する革新的なローコードエディター「Rapid Ext JS」の正式リリース「バージョン 1.0」の提供を開始しました。Sencha Ext JSを利用している開発者は、開発プロセスを効率化し、スムーズかつスピーディにWeb開発を推進できます。この記事では、Rapid Ext JSがExt JS開発プロジェクトの効率化にどのように貢献するのか、その主要な機能とともに紹介します。

Sencha Architect 4.3.6リリース

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

その他の記事

おすすめ記事

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)を提供しています。それぞれのツールキットは、異なるユースケースに対応するように設計されており、独自の機能と利点を提供します。

Ext JS 7.8リリース

このたび、Senchaチームは、Sencha Ext JS 7.8のリリースを発表しました。このリリースでは、7.7リリースに続き、Grid、Timefield、Chart、TreePanelなどユーザーの皆さんからの要望に応え、ModernおよびClassicツールキットに数多くの品質強化を行っています。また、Ext JS 7.8には、Classicツールキットの新機能Froalaに加え、CheckBox、Grid、DataViewの改善、Grid、Combo、CheckBox、Chart、Date Field、TreePanel、Storeなどに対する要望の多かった機能、双方のツールキットに対する品質改善が含まれます。

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

ブログ記事一覧