SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CurlデベロッパーセンターPick Up(PR)

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

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

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

 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より、上記サンプルのダウンロードが可能となっているので、ぜひ試してみてください。

次のページ
RecordGridもここまでできる ! Curl External Library TreeGrid, Gantt Chart

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
CurlデベロッパーセンターPick Up連載記事一覧

もっと読む

この記事の著者

住商情報システム株式会社(スミショウジョウホウシステムカブシキガイシャ)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

小段 政樹(コダン マサキ)

2003年、住商情報システム株式会社に入社後Curlビジネスに携わり、多数の基幹系業務システムの開発・設計を担当、その後、Curlサポートセンターでのサポート業務に従事。現在は、Curlプロダクトの開発・メンテナンスを行っている。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

カール ウィリアム スターン(カール ウィリアム スターン)

アメリカ生まれ、マサチューセッツ工科大学卒。1998年から超並列計算機、ウェブアプリケーション、ウェブ検索システム、個人認証システム開発に携わり2000年よりCurlCorpolation(現Curl,inc.)にてCurlのGUI開発担当となる。現在、住商情報システム株式会社に勤務、CurlのGU...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6113 2011/08/22 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング