ListViewコントロールに関する、その他のプロパティ等の利用サンプルを掲載します。
ポイント
- AllowColumnReorderプロパティ
- マウス操作による列順変更を許可するかどうかを設定するプロパティです。これをTrueにすることで、ColumnHeaderで初期設定された列の順番を、マウスのドラッグによって入れ替えることができるようになります。サンプルフォームでは、[できる]ボタンを選択したあと、ListViewコントロール上の列名部分をマウスで操作してみてください。
- Checkboxesプロパティ
- ListViewコントロールのプロパティで、これをTrueにすることで各ListItem(各行の左端)にチェックボックスを付加することができます。
また、特定リストのチェックボックスにチェックが付いているかどうかは、SelectedItemプロパティのCheckedプロパティで確認することができます。
- FullRowSelectプロパティ
- ListViewコントロールのプロパティで、これをTrueにすると、リストを選択したときに、1列目のテキストだけでなくすべての列が反転表示(行全体選択)されるようになります。それによって、リストボックスコントロールのような選択時の表示効果が得られます。
- GridLinesプロパティ
- ListViewコントロールのプロパティで、これをTrueにすると各リスト間(行間)およびカラム間(列間)に縦横のグリッド線が表示され、よりデータシートビューに近い外観となります。
- MultiSelectプロパティ
- ListViewコントロールのプロパティで、これをTrueにすると、複数の項目を同時に選択できるようになります。複数選択は、CtrlキーやShiftキーを押しながら、各アイテムをマウスでクリックすることで行なえます。
また、複数選択可能とした場合、すべてのListItemオブジェクトをループでチェックし、SelectedプロパティがTrueであるかどうかでその項目が選択されているかどうかをチェックすることができます。
- ColumnClickイベント
- ListViewコントロールの列名部分がクリックされたときに発生するイベントです。どの列がクリックされたか(ColumnHeaderオブジェクト)が引数として渡されますので、それを使うことによってその列を対象とした処理を行なうことができます。
たとえば、SortKeyプロパティ、SortOrderプロパティ、Sortedプロパティを組み合せることによって、その列を基準とした並べ替えを行なうことができます。
※各データはすべてテキストとして管理されているので、並べ替えもそれに準じて行なわれます。単価等は数値としては正しく並べ替えられません。これに関してはSortedプロパティではなく、独自の処理による各行の入れ替え操作などの代替策が必要となります。
サンプルフォームの実行例
"単価"の列名部分をドラッグ
ドラッグ完了後の状態 → 列の順番が変わっている
チェックボックスを付加
行全体選択をTrueにしたところ
グリッド線を表示
複数選択をしたところ
"商品名"を基準に昇順並べ替えを実行
サンプルDBのダウンロード
comctl_11.lzh(comctl_11.mdb)
|