エクステンション、DataGrid Object の使い方を説明します。
関連:エクステンション DataGrid と ListView の使い方について 関連:ListView (リストビュー) Object に関する解説
- Windows PC ビルド専用(エクスポータで利用できません)
- 要MMF2/CF25 Developer バージョン
MMF/CF25 におけるデータグリッドとリストビューの違い
「表」の形で二次元配列データを表現するためのオブジェクトという意味でならどちらも同じものです。データの一覧表示に用いられます。
MMF/CF25 特有の仕様なので汎用的な Windows 用のグリッドコントロールとは呼び方が同じでも使い方や仕様は全然違います。
「行( Line /ラインもしくは Row/ロウ)」が各一次元配列で成り、各配列の要素が「列( column/カラムもしくはコラム)」と呼ばれる。
二つのオブジェクトを使い分ける場合、重要な機能としてはデータ・ソート(並び替え)実装の違いとデータ・サーチ(文字列検索)の有無があげられます。ソートとサーチを両方実装したのがリストビューで、グリッドはソートの実装はオプションとしてあるけれど、サーチはありません。
カラムヘッダとラインヘッダはそれぞれ位置を固定した表示が可能。表におけるヘッダ位置をそれぞれ固定する必要がある場合はデータグリッドを用います。
並び替え( Sort/ソート)について
MMF/CF25 における DataGrid はカラム(縦方向)の並び替え( Sort/ソート)に対応。 Descending (降順)と Ascending (昇順)が利用できます。
ソートを実行可能にするためにはオプションから「リストモード/List mode 」をオンにする必要があります。データグリッドはリストビューと違ってソート( Sort/並び替え)は全自動です。
全自動だとカラムヘッダをクリックすれば自動的に項目に対してソートを実行してくれるので便利。
例えば一回目のクリックでアルファベットによる Ascending (昇順)なソートを実行したら、二回目のクリックは Descending (降順)で並び替えしてくれるなど並び替え用のアルゴリズムが自動的に選択されます。
問題はソートを手動で制御したい場合は、リストビューと違ってまったく制御ができない点。
またリストモードで実行した場合の弊害として、単一セルの選択ができなくなり強制的に行として選択されるようになります。
ヘッダーとしての表示を切り替え
データグリッドは行列の各ヘッダーを任意のタイミングでヘッダーとして表示する・非表示にするといった切り替え機能があります。リストビューはカラムヘッダを非表示にする機能がオプションにしか無く、一度オフにしたヘッダー表示をアプリケーション実行中にオン・オフする切り替えができません。
固有のアクション
データグリッド固有の機能として 「 Print アクション」があります。表示しているデータをプリンター使ってプリントアウトする機能で、接続されているプリンタがあれば表示されているデータを手軽に印刷することができます。
動作サンプル ( CF25 mfa ):DataGrid_Exsamples