|
빌더사랑 님이 쓰신 글 :
: ^^
: 안녕하세요 여러 고수님들
:
: ListView에 데이타가 들어 있구요
: 클럼 헤드를 클릭시 아래와 같은 코드로는
:
: 알파뉴메릭 소트가 됩니다.
: 즉 한행의 첫 열을 기준으로 소팅을 합니다.
: 모든 첫 열의 데이타는 숫자입니다. 숫자가 들어 있어도 알파뉴메릭 소팅이 됩니다.
:
: 즉 아래와 같은 형태로소팅이 됩니다.
: 이를 숫자형태의 오름 차순으로 할 수는 없는지요
: //====================================
: 1
: 11
: 13
: 17
: 2
: =================================
: 1
: 2
: 11
: 13
: 17
: =================================
: ((TCustomListView *)Sender)->AlphaSort();
:
: ListView의 ViewStyle은 vsReport로 했구요
void __fastcall TForm1::ListView1Compare(TObject *Sender, TListItem *Item1,
TListItem *Item2, int Data, int &Compare)
{
Compare = Item1->Caption.ToInt() - Item2->Caption.ToInt();
//또는 아래와 같이
/*
Compare = Item1->Caption.Length() - Item2->Caption.Length();
if(Compare==0)
{
Compare = (Item1->Caption > Item2->Caption)?1:-1;
}
*/
}
|