CodeZine(コードジン)

特集ページ一覧

全機能を使い倒せ!大量データもグラフィカルに表示するCurlコントロール「RecordGrid」マニア

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

セルのカスタマイズでここまでできる !

 RecordGridCellは、RecordSetのデータを表示するために使用するということは前ページで述べましたが、セルをカスタマイズすることでより効果的なデータの見せ方が可能になります。

 例えば、以下のようにカスタマイズされたRecordGridCellを使用すると、IDが3の倍数のデータに対してより一層強調して表示できます。

{define-class public MyStandardStringCell
  {inherits StandardStringCell}

  {constructor public {default ...}
    {construct-super ...}
  }

  ||refresh-dataメソッドはRecordGridCellが表示すべきデータを
  ||切り替えるメソッド
  ||スクロール等表示すべきデータが変わった場合に呼ばれる
  {method public {refresh-data}:void
    {super.refresh-data}
    let (data:String, valid?:bool) = {self.get-formatted-data}
    {if valid? and data != ""  and
        self.record["ID"] mod 3 == 0 and     ||ここでIDが3の倍数のデータを抽出
        not self.selected?                   ||行が選択されている場合は何もしない
     then
        set self.background = "navy"
        set self.color = "white"
        set self.font-size = 14pt
     else
        {if not self.selected? then
            {unset self.background}
            {unset self.color}
            {unset self.font-size}
        }
    }
  }
}

 また、このセルをRecordGridに適用するには、以下のように記載します。

{RecordGrid
      record-source = people,
      height = 7cm,
||cell-specで適用するRecordGridCellを指定する
      {RecordGridColumn  width = 1.3cm, "ID", cell-spec = MyStandardStringCell},
      {RecordGridColumn  width = 3cm, "First", cell-spec = MyStandardStringCell},
      {RecordGridColumn  width = 3cm, "Last", cell-spec = MyStandardStringCell}
}

 これを実行すると、次の図のようになります。

3の倍数のデータを強調して表示している
3の倍数のデータを強調して表示している

 このように、特定の値を持った行やセルに対して色の変更、文字サイズの変更などによって強調表示を行うことで、例えばエラー行などに注目を集めるようなビジュアルにできます。

 もちろん、表示を変更するだけでなく、このセルの中にコマンドボタンやテキストフィールドなどのコントロール部品を埋め込むことも可能となります。コントロール部品を埋め込むことで、コマンドボタンであればユーザーに対して、この行に関する何らかのアクションが発生するというイメージを明確に与え、また、テキストフィールドであれば、行データに関して入力できるというイメージを明確にできます。

 次のイメージは、リンクに見えるコマンドボタンを埋め込むことで、タイトルをクリックすると詳細が表示されるという印象をユーザーに与えています。

コマンドボタンのコントロールを埋め込んでいる
コマンドボタンのコントロールを埋め込んでいる

 Curl Apps Galleryより、上記サンプルのダウンロードが可能となっているので、ぜひ試してみてください。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

バックナンバー

連載:CurlデベロッパーセンターPick Up

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5