Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
TListView 에서 역순 Sort 할 수 있는 방법좀 ...
안녕하세요,, 이곳에서 많은 도움을 받고 있는 델 초보입니다.
TListView 를 이용해서 탐색기 창을 만드는 중인데..
Column을 선택했을 때, 탐색기 처럼 내림/오름 차순으로 Sorting 을 하고자 합니다.
질문을 조회해 보니 CustomSort()를 이용하여 오름차순으로는 답변이 있는데,
내림차순으로 할 수있는 방법을 못찾겠습니다...
부디 아시는분 갈켜주세요.....
2
COMMENTS
어린왕자
•
2000.10.17 18:24
--어디 팁에서 가져왔슴다.-- 즐코하세요..
제가 모아놓은 팁에 있어서 올립니다. 이 글을 적어주신 분의 성함을 몰라서 죄송시럽네요. ^^; 마음으로 감사를...
ListView 의 컬럼별로 Sort (내림차순 포함)
// 아래 예제를 참고하세요
// 예제에서는 칼럼이 3개로 설정되어 있습니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
ListView1: TListView;
procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
// ListView의 Reverse sort를 결정하는 boolean 배열
ReverseOrder: array[0..2] of boolean; // 컬럼이 3개일경우(0..2)
implementation
{$R *.DFM}
// ListView 를 컬럼별로 sort하는 standalone 함수입니다
function ListViewSortProc(Item1, Item2: TListItem; ColumnNo: Integer): Integer; stdcall;
var
S1, S2: string;
i: integer;
begin
if ColumnNo = 0 then
begin
S1 := Item1.Caption;
S2 := Item2.Caption;
end
else
begin
S1 := Item1.SubItems[ColumnNo - 1];
S2 := Item2.SubItems[ColumnNo - 1];
end;
i := CompareText(S1, S2); // C의 strcmp() 함수와 동일한 기능
if Unit1.ReverseOrder[ColumnNo] then // Reverse이면 역순으로 sort
i := - i;
Result := i;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
{ListView 의 Reverse sort 여부 지정}
for i := Low(ReverseOrder) to High(ReverseOrder) do
ReverseOrder[i] := False; // False: 오름차순, True: 내림차순
end;
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListView1.CustomSort(@ListViewSortProc, Column.index);
// Reverse sort는 컴럼을 한번 클릭했을때는 오름차순이지만
// 또 한번 누르면 내림차순으로 sort 됩니다
// 오름, 내림차순은 아래의 ReverseOrder 에서 결정됩니다
ReverseOrder[Column.Index] := not ReverseOrder[Column.Index];
end;
end.
궁금이 wrote:
> 안녕하세요,, 이곳에서 많은 도움을 받고 있는 델 초보입니다.
>
> TListView 를 이용해서 탐색기 창을 만드는 중인데..
> Column을 선택했을 때, 탐색기 처럼 내림/오름 차순으로 Sorting 을 하고자 합니다.
>
> 질문을 조회해 보니 CustomSort()를 이용하여 오름차순으로는 답변이 있는데,
> 내림차순으로 할 수있는 방법을 못찾겠습니다...
>
> 부디 아시는분 갈켜주세요.....
0
0
삭제
수정
댓글
어린왕자
•
2000.10.17 18:15
궁금이 wrote:
> 안녕하세요,, 이곳에서 많은 도움을 받고 있는 델 초보입니다.
>
> TListView 를 이용해서 탐색기 창을 만드는 중인데..
> Column을 선택했을 때, 탐색기 처럼 내림/오름 차순으로 Sorting 을 하고자 합니다.
>
> 질문을 조회해 보니 CustomSort()를 이용하여 오름차순으로는 답변이 있는데,
> 내림차순으로 할 수있는 방법을 못찾겠습니다...
>
> 부디 아시는분 갈켜주세요.....
어디 찾아보니깐 있던데..
boolean변수하나 주고, 오름차순 반대로 하면 되지 않을까..
찾으면 다시 글 올릴께요..
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
문청희
•
2000.10.17 04:55
1
COMMENTS
/
0
LIKES
table.Locate에 대한 질문
윤종필
•
2000.10.17 19:48
Lacate 문은 FindKey와 유사한 기능을 수행합니다. 단지 인덱스가 지정지정되지 않은 필드에서 검색을 수...
아이언
2000.10.17 04:34
0
COMMENTS
/
0
LIKES
Socket Connection을 이용한 마이다스에 대해?
won
2000.10.17 04:04
0
COMMENTS
/
0
LIKES
ADO+interbase6.0 에 대해서 어떻게 생각하십니까?
손연옥
•
2000.10.17 03:24
1
COMMENTS
/
0
LIKES
퀵레포트
박철호
•
2000.10.17 03:55
손연옥 wrote: > 퀵레포트에서 A4크리 외에 136컬럼이나 A3로 용지를 지정하면 > 레포트 디자인시 화면이...
돌이
•
2000.10.17 02:44
1
COMMENTS
/
0
LIKES
질문] ISAPI/NSAPI dll 을 만들려는데.. 에러
강인규
•
2000.10.17 04:06
혹시 F9하시거나 Run 하셨나염? 메뉴에 보시면 build All 메뉴로 컴파일 하셔야합니당~ 그러면 dll화일이...
정종구
•
2000.10.17 02:32
1
COMMENTS
/
0
LIKES
[MADIS]를 사용해보신 분? - 급함
linuxwiz
•
2000.10.17 19:35
midas는 제 짧은 소견으로 일반적으로 3tier를 구성하는 것은 안정성에 우선을 둡니다.. 속도 문제는 그 ...
한하눌
2000.10.17 02:10
0
COMMENTS
/
0
LIKES
델파이 vs 비베 변환 어떻게 해요
미순
•
2000.10.17 01:38
1
COMMENTS
/
0
LIKES
sql explore에서,,access .. oraclient8.dll error
남기석
•
2000.10.17 10:02
안녕하세요 청개구리 남기석입니다. BDE 세팅을 SQLORA32.DLL, OCI.DLL 로 약간 변경하시고 리부팅 ...
궁금이
•
2000.10.17 01:38
2
COMMENTS
/
0
LIKES
TListView 에서 역순 Sort 할 수 있는 방법좀 ...
안녕하세요,, 이곳에서 많은 도움을 받고 있는 델 초보입니다. TListView 를 이용해서 탐색기 창을 만드는 중인데.. Column을 선택했을 때, 탐색기 처럼 내림/오름 차순으로 Sorting 을 하고자 합니다. 질문을 조회해 보니 CustomSort()를...
어린왕자
•
2000.10.17 18:24
--어디 팁에서 가져왔슴다.-- 즐코하세요.. 제가 모아놓은 팁에 있어서 올립니다. 이 글을 적어주신 분의 ...
어린왕자
•
2000.10.17 18:15
궁금이 wrote: > 안녕하세요,, 이곳에서 많은 도움을 받고 있는 델 초보입니다. > > TListView 를 이용...
허용석
2000.10.17 01:32
0
COMMENTS
/
0
LIKES
지도상에서 동명을 클릭하면 동경계내부 색깔에 변화를 주려고 하는데....
young
2000.10.17 01:26
0
COMMENTS
/
0
LIKES
이 에러좀 봐주세요.....
델포이
•
2000.10.17 00:50
1
COMMENTS
/
0
LIKES
고수님들 부탁 드립니다 함 읽어주세요....
구창민
•
2000.10.17 00:59
델포이 wrote: > 안녕하세요 > 다름이 아니라... 제가 만들어야 할 프로그램은 > 일단 .. 실행이 일반...
capia
•
2000.10.17 00:49
1
COMMENTS
/
0
LIKES
BDE연결이 되지 않네요
이은정
•
2000.10.17 02:52
capia wrote: > > Cannot load an IDAPI service library. > BDE ERROR:8458 > > path를 확인해 봤...
어린왕자
•
2000.10.17 00:44
1
COMMENTS
/
0
LIKES
동적 배열에 관한 질문
구창민
•
2000.10.17 00:56
어린왕자 wrote: > 안녕하세요 영원한 델초보 어린왕자임다.. > 동적배열에 관한 질문인데요. > > var...
won
2000.10.17 00:32
0
COMMENTS
/
0
LIKES
델파이 C/S 데이타베이스 전문가님..
won
•
2000.10.16 23:54
2
COMMENTS
/
0
LIKES
단축키가 버튼,탭컨트롤 등에 포커스가 가있어도 먹힐려면
양우
•
2000.10.17 02:09
won wrote: > 버튼이나 탭컨트롤 등에 포커스가 가있어도. > 단축키(F2,F3,F4,...)등이 먹히게 하려면.. ...
구창민
•
2000.10.17 00:45
won wrote: > 버튼이나 탭컨트롤 등에 포커스가 가있어도. > 단축키(F2,F3,F4,...)등이 먹히게 하려면.. ...
윤종필
•
2000.10.16 23:31
1
COMMENTS
/
0
LIKES
날짜필드의 월,또는 년으로 그룹화할수 있나요?
한하눌
•
2000.10.17 02:27
윤종필 wrote: > SQL 에서 날짜필드를 이용해 월또는 년으로 그룹화는 방법이 있을까요? > > Select * ...
한대필
•
2000.10.16 23:09
1
COMMENTS
/
0
LIKES
[질문,급해요] 왕초짜 DB쿼리 질문
우희연
•
2000.10.16 23:28
한대필 wrote: > 안녕하십니까? 하하하 저 왕초짜 또 질문합니다. > > 역시 초짜라 말로 이래저래 해라...
김영애
•
2000.10.16 22:35
1
COMMENTS
/
0
LIKES
ActiveX폼에 대하여..
구창민
•
2000.10.17 01:10
김영애 wrote: > 저는 델파이로 웹형식의 프로그램을 작성하려 합니다.. > > 델파이 폼을 브라우저로 ...
delpo
•
2000.10.16 22:32
1
COMMENTS
/
0
LIKES
다른 폼의 데이터로 가져온 폼의 권한 부여하는 방법은요?
구민오
•
2000.10.17 02:29
delpo wrote: > 제가 다음과 같이 코딩을 하였습니다. > 이 것을 현재의 input form의 create 이 벤...
궁금이
2000/10/17 01:38
Views
322
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
제가 모아놓은 팁에 있어서 올립니다. 이 글을 적어주신 분의 성함을 몰라서 죄송시럽네요. ^^; 마음으로 감사를...
ListView 의 컬럼별로 Sort (내림차순 포함)
// 아래 예제를 참고하세요
// 예제에서는 칼럼이 3개로 설정되어 있습니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
ListView1: TListView;
procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
// ListView의 Reverse sort를 결정하는 boolean 배열
ReverseOrder: array[0..2] of boolean; // 컬럼이 3개일경우(0..2)
implementation
{$R *.DFM}
// ListView 를 컬럼별로 sort하는 standalone 함수입니다
function ListViewSortProc(Item1, Item2: TListItem; ColumnNo: Integer): Integer; stdcall;
var
S1, S2: string;
i: integer;
begin
if ColumnNo = 0 then
begin
S1 := Item1.Caption;
S2 := Item2.Caption;
end
else
begin
S1 := Item1.SubItems[ColumnNo - 1];
S2 := Item2.SubItems[ColumnNo - 1];
end;
i := CompareText(S1, S2); // C의 strcmp() 함수와 동일한 기능
if Unit1.ReverseOrder[ColumnNo] then // Reverse이면 역순으로 sort
i := - i;
Result := i;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
{ListView 의 Reverse sort 여부 지정}
for i := Low(ReverseOrder) to High(ReverseOrder) do
ReverseOrder[i] := False; // False: 오름차순, True: 내림차순
end;
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListView1.CustomSort(@ListViewSortProc, Column.index);
// Reverse sort는 컴럼을 한번 클릭했을때는 오름차순이지만
// 또 한번 누르면 내림차순으로 sort 됩니다
// 오름, 내림차순은 아래의 ReverseOrder 에서 결정됩니다
ReverseOrder[Column.Index] := not ReverseOrder[Column.Index];
end;
end.
궁금이 wrote:
> 안녕하세요,, 이곳에서 많은 도움을 받고 있는 델 초보입니다.
>
> TListView 를 이용해서 탐색기 창을 만드는 중인데..
> Column을 선택했을 때, 탐색기 처럼 내림/오름 차순으로 Sorting 을 하고자 합니다.
>
> 질문을 조회해 보니 CustomSort()를 이용하여 오름차순으로는 답변이 있는데,
> 내림차순으로 할 수있는 방법을 못찾겠습니다...
>
> 부디 아시는분 갈켜주세요.....