|
void __fastcall TForm1::ListView1Compare(TObject *Sender, TListItem *Item1,
TListItem *Item2, int Data, int &Compare)
{
if(Data == 0)
{
if(Item1->Caption < Item2->Caption) Compare = -1;
else if(Item1->Caption > Item2->Caption) Compare = 1;
else Compare = 0;
}
else
{
if(Item1->SubItems->Strings[Data-1] < Item2->SubItems->Strings[Data-1]) Compare = -1;
else if(Item1->SubItems->Strings[Data-1] > Item2->SubItems->Strings[Data-1]) Compare = 1;
else Compare = 0;
}
Compare *= SortOrder;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1ColumnClick(TObject *Sender,
TListColumn *Column)
{
if(SortByColumn == Column->Index) SortOrder *= -1;
else SortOrder = 1;
ListView1->CustomSort(NULL, Column->Index);
SortByColumn = Column->Index;
}
이렇게 하면 컬럼 헤더 누르면 Sorting은 되는데요
제가 하고 싶은 것은 버튼을 누르면 콤보박스를 이용해서 오름차순 내림차순 정렬시키고 싶은데요..
void __fastcall TForm1::Button3Click(TObject *Sender)
{
switch (ComboBox1->ItemIndex){
case 0 : //오래된 것부터 정렬
ListView1ColumnClick(ListView1, ListView1->Column[0]);
break;
case 1 : // 최신 것부터 정렬
ListView1ColumnClick(ListView1, ListView1->Column[0]);
break;
}
}
이렇게 하면 그냥 순차적으로 한번씩 바뀌기만 하잖아요..
따로 구분되어 지게 할 수는 없을까요??
2틀째 이것만 하는데두 답이 안나오네요...
고수님들의 답변 부탁드립니다~
|