フリーソフト

« [BCB] 相対パスと絶対パスの変換 | トップページ | [BCB] HTML Helpを扱う »

[BCB] ListViewのコラムをクリックでソート

ListViewのコラムをクリックした時に、その列をキーに内容をソートする方法です。ListViewのViewStyleはvsReport、ShowColumnHeaderはtrueに設定されているとします。

クリックされた列の番号を保持しておく変数を用意しておきます。

  :
private
  int FColumnToSort;
  :
};

ListViewのOnColumnClickとOnCompareを使います。またTagプロパティは、コラムをクリックするたびに、ソートの方向(昇順か降順か)を反転するために使っています。

void __fastcall TForm1::ListView1ColumnClick(TObject *Sender,
      TListColumn *Column)
{
  FColumnToSort = Column->Index;
  ((TCustomListView *)Sender)->AlphaSort();

  //ソートの方向を切り替える 昇順、降順
  if (FColumnToSort==0)
    ListView1->Tag=(ListView1->Tag==1)?0:1;
  else
    ListView1->Columns->Items[FColumnToSort-1]->Tag=
      (ListView1->Columns->Items[FColumnToSort-1]->Tag==1)?0:1;
}
//

« [BCB] 相対パスと絶対パスの変換 | トップページ | [BCB] HTML Helpを扱う »

C++Builder」カテゴリの記事

TListView」カテゴリの記事

コメント

この記事へのコメントは終了しました。