【DO!BOOK・ページリンク】 2008_migaro_techreport_001 115 / 136 10秒後にBOOKのページに移動します |
|
113 4.DBGridの 簡単ソートの実装 DBGrid の明細に対して、マウス クリックで並び替えができます か? DBGrid のOnTitleClick イベン トで、表のタイトルをクリックし た際の処理を制御することができる。 ClientDataSet 経由でDBGrid にデータ を表示していることが前提である。ここで、 ClientDataSet のindex を操作すること で、画面上からクリックするだけのソート 機能を実装することができる。【図5】 Q. A. 図5 実装イメージ この仕組みでは、DBGrid のタイトルを クリックするだけで、@で昇順・Aで降順・ Bで解除、という操作を想定している。ま た、この仕組みはフィールド単位でIndex 操作を行うため、複数のフィールドを昇順 や降順で組み合わせて扱うこともできる。 この@.BのDBGrid の、タイトルク リックイベントのソース実装例を示す。 【ソース3】 ・Index の削除と再追加 ソースの最後に、Index の削除と再追加 を行っている。これはパフォーマンス維持 のためである。 操作したIndex は通常、ClientDataSet を再度Open した際に反映される。データ 量によってはアクセスに時間がかかり、 ソートでクリックするたびに時間がかかっ てしまうため、操作性が悪くなる。 例のように、Index を一度削除して再度 追加を行う手法であれば、ClientDataSet をClose せずにソート内容を画面に反映さ せることができる。 |