|
감사합니다... 꾸벅
질문 올리기 전에 그 예제도 보긴 봤었는데.... 에휴~
님의 말씀처럼 아이템의 인덱스를 체크했는데도 전체가 sort되버리네요...
소스 좀 봐주시며 감사하겠습니다....
void __fastcall THistogramData::LstViewColumnClick(TObject *Sender, TListColumn *Column)
{
int Term = LstView->Items->Count;
if(SortByColumn == Column->Index)
SortOrder *= -1;
else
SortOrder = 1;
SortByColumn = Column->Index;
if(SortByColumn == 0) return;
LstView->CustomSort(NULL, Column->Index);
for(int i=12; i<Term; i++)
LstView->Items->Item[i]->Caption = i-12;
}
//---------------------------------------------------------------------------
void __fastcall THistogramData::LstViewCompare(TObject *Sender,
TListItem *Item1, TListItem *Item2, int Data, int &Compare)
{
if(Item1->Index<12) || Item2->Index<12) // 이 넘이 체크하는 부분...
return;
if(Data == 0)
{
int Th1=0, Th2=0;
Th1 = StrToInt(Item1->Caption);
Th2 = StrToInt(Item2->Caption);
if(Th1<Th2) Compare = -1;
else if(Th1>Th2) Compare = 1;
else Compare = 0;
}
else
if(SortByColumn == 0)
return;
else
{
float Th1=0.0, Th2=0.0;
Th1 = StrToFloat(Item1->SubItems->Strings[Data-1]);
Th2 = StrToFloat(Item2->SubItems->Strings[Data-1]);
if(Th1<Th2) Compare = -1;
else if(Th1>Th2) Compare = 1;
else Compare = 0;
}
Compare *= SortOrder;
}
|