CurlのGUIコントロールの1つである「RecordGrid」。この記事では、業務アプリケーションには欠かせないこのコントロールを使って、よりグラフィカルで、洗練された機能を実現するコツを紹介します。
はじめに
RecordGridはCurlのGUIコントロールの1つであり、その操作性の高さ、機能の充実さから数多くの業務アプリケーションで使用されています。
本稿では、既に数多く使用されているRecordGridの基本機能ではなく、知られざるRecordGridの設計思想、よりパフォーマンスの高い利用方法など、さらなるディープな部分について解説します。また、RecordGridの機能を強化する今後の展開についても話していきたいと思います。
基本機能については、CurlヘルプドキュメントのCurl開発者ガイドより、[データの管理と表示]-[データレコードとグリッド]を参照ください。
RecordGridの深イイ話
大量データでも素早く表示 ! RecordGridCellの概念
RecordGridは、データの集まりであるRecordSetオブジェクトを使用しています。RecordSetオブジェクトはRecordを複数持つような形で、業務によっては数千から数万という大量のデータを保持することがあります。
これらのデータを実際に表示しているのはRecordGridCellオブジェクトです。全ての行列のセルオブジェクトを生成しているのではなく、RecordGrid上に表示されている箇所のみのRecordGridCellオブジェクトが生成されています。
次の図は、10,000件のデータをRecordGridで表示したものです。
表示のために使用しているRecordGridCellは、IDが0~12の行×3列分だけです。つまり、どれだけ大量のデータを扱っても、ユーザーが一度に見る行列はせいぜい数十行×数十列となり、それ以外はスクロールして見るということになります。このように、表示されている箇所のみRecordGridCellオブジェクトを作成することはメモリの節約、処理速度の向上につながります。
ただし、横スクロールが存在するような列データが大量にある場合は注意が必要です。RecordGridは見えるところだけRecordGridCellを保持するというのが基本なのですが、見えていない列であっても表示されている行に関してはRecordGridCellオブジェクトを保持しています。
上図のように、100行であっても横に日付列を持つような横に長いデータの場合、見えていない列であったとしてもRecordGridCellオブジェクトを持つため、意図せずメモリを大量消費し、処理速度に影響を及ぼすということになりかねません。大量の「行」データではなく、大量の「列」データをもつ画面を作成する場合は慎重になる必要があります。
この記事は参考になりましたか?
- CurlデベロッパーセンターPick Up連載記事一覧
- この記事の著者
-
-
小段 政樹(コダン マサキ)
2003年、住商情報システム株式会社に入社後Curlビジネスに携わり、多数の基幹系業務システムの開発・設計を担当、その後、Curlサポートセンターでのサポート業務に従事。現在は、Curlプロダクトの開発・メンテナンスを行っている。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
カール ウィリアム スターン(カール ウィリアム スターン)
アメリカ生まれ、マサチューセッツ工科大学卒。1998年から超並列計算機、ウェブアプリケーション、ウェブ検索システム、個人認証システム開発に携わり2000年よりCurlCorpolation(現Curl,inc.)にてCurlのGUI開発担当となる。現在、住商情報システム株式会社に勤務、CurlのGU...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア

