C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[57387] Re:ListView 질문입니다.
김상구.패패루 [peperu] 1726 읽음    2009-06-24 10:36
어차피 ListView에서는 시간도 문자열로 변환되어 들어가게 됩니다. 즉, 영어단어 순으로 정렬하는 것과 동일한 방법으로 하시면 되겠죠.
참고로, 데이타의 양이 많을 땐 ListView보다는 VirtualTreeView로 처리하시는 것이 훨씬 유리할겁니다.

일월영측 님이 쓰신 글 :
: ListView에서 Caption을 사용하지 않고 가운데 정렬로 네개의 서브 아이템을 만들었습니다.
: 첫번째 Column에는 현재 시간이 지속적으로 밀리초 단위 까지 입력이 됩니다.
: 두번째 Column에는 영어단어가 입력이 되어서 그 영어 단어에 대한 정렬을 아래와 같이 실행을 하였습니다.
:
: 아래와 같이 실행을 하게 되면 영어의 내림차순과 오름차순에 대해 정렬을 할 수 있는데 처음
: ListView에 올려져 있는 정보를 원상복귀 시키진 못합니다. 그래서 생각을 한것이 시간에 대한 정렬을 생각해봤는데
: 어떻게 시간에 대해 정렬을 시켜야할지 몰라서 이렇게 질문을 올립니다.  영어에 대한 내림차순과 오름차순 정렬을 다시 맨 처음 상태로 원상 복귀 시키는 방법이 없는걸까요??
:
: 제발 좀 도와주세요..ㅜ
:
:
: void __fastcall TfrmMain::listColumnClick(TObject *Sender,
:       TListColumn *Column)
: {
:     if(m_SortByColumn == Column->Index)
:     {
:         m_SortOrder *= -1;
:     }
:     else
:     {
:         m_SortOrder = 1;
:     }
:     list->CustomSort(NULL, Column->Index);
:     m_SortByColumn = Column->Index;
: }
: void __fastcall TfrmMain::listCompare(TObject *Sender, TListItem *Item1,
:       TListItem *Item2, int Data, int &Compare)
: {
:     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 *= m_SortOrder;
: }

+ -

관련 글 리스트
57383 ListView 질문입니다. 일월영측 1292 2009/06/23
57387     Re:ListView 질문입니다. 김상구.패패루 1726 2009/06/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.