Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
TreeView에서..
트리뷰에서 하위 노드가 없어도 상위 노드에
+표시를 하고 싶습니다..
어떻게 해야되죠?
2
COMMENTS
강지영
•
1999.04.23 00:51
구창민님의 홈페이지 팁/강좌란에서 읽은 팁입니다.
실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리가 sorting되었습니다.
그런데 문제는.. 제가 만든 테이블로 실행을 하면 타이틀을 클릭할때마다
sorting이 되기는 되는데 결과문은 전혀 변함이 없었습니다.
원인을 분석해 보려고 하지만 중간의
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Query1.SQL[1] := Column.FieldName;
Query1.Close;
Query1.Open;
end;
부분에서 SQL[1]이 무엇을 가르키는 것인지 모르겠습니다.
꼭 좀 알려주세요.
부탁드립니다.
[팁]DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키
DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키
윈도우 탐색기나 찾기(파일, 컴퓨터)를 통해 볼 수 있는 결과 자료에서 각 컬럼의 필드 헤더를 클릭하는
것에 따라 그 컬럼 필드를 기준으로 정렬되는 것을 볼 수 있는데, 이것을 단지 윈도우 95의 기능이라고
지나치면 안된다. 우리가 사용자에게 데이터를 보여주는 형식도 이와 거의 유사하기 때문에 이러한 기능
은 매우 효과적이면서, 실무자들에게도 유용한 기능이 될 수 있다. 구현 방법은 델파이 3.0에서 추가된
컬럼 헤더의 클릭 이벤트로 쉽게 처리할 수 있는데, 사용자가 모든 필드를 대상으로 인덱스를 요구할 것
이므로 동적인 인덱스키를 지정하는 방법보다는 간단히 SQL문의 ORDER BY를 사용하는 것이 더 좋을 것
같다. 다음은 DBDEMOS 알리아스에 있는 CUSTOMER 테이블로 데모를 만든 것이다.
procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.Options := [dgTitles,dgIndicator,dgColLines,
dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];
end;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Query1.SQL[1] := Column.FieldName;
Query1.Close;
Query1.Open;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
with Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');
SQL.Add('CUSTNO');
Open;
end;
end;
0
0
삭제
수정
댓글
배리스
•
1999.04.23 17:51
안녕하세요. 강지영씨..
오늘은 날씨가 별로 좋지 않네요. 하지만 이런 날씨가 더 좋은것 같습니다.
왜냐하면 어제는 너무 더웠거든요. 닭병 걸려서 고생이 이만 저만이 아닙니다.
구창민님의 소스를 토대로 ....
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Query1.SQL[1] := Column.FieldName;
Query1.Close;
Query1.Open;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
with Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');
SQL.Add('CUSTNO');
Open;
end;
end;
위소스에서 보면 FormShow에서 SQL문장을 만들었는데 만드는 방법을 보면
알 수 있듯이 Add를 두번 쓰잖아요. 그러면 그게 SQL[0], SQL[1] 으로 들어
가게 되는 것입니다. 물론 세번 쓰면 SQL[2]에 들어 가겠죠 ...
그래서 Title을 누를 경우 필드명많 교체하는 것이지요.
당연히 필드명만 교체하면 해당 필드별로 소트가 가능 하구요...
그럼 즐거운 하루가 되세요.....
강지영 wrote:
> 구창민님의 홈페이지 팁/강좌란에서 읽은 팁입니다.
> 실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리가 sorting되었습니다.
> 그런데 문제는.. 제가 만든 테이블로 실행을 하면 타이틀을 클릭할때마다
> sorting이 되기는 되는데 결과문은 전혀 변함이 없었습니다.
> 원인을 분석해 보려고 하지만 중간의
>
> procedure TForm1.DBGrid1TitleClick(Column: TColumn);
> begin
> Query1.SQL[1] := Column.FieldName;
> Query1.Close;
> Query1.Open;
> end;
>
> 부분에서 SQL[1]이 무엇을 가르키는 것인지 모르겠습니다.
> 꼭 좀 알려주세요.
> 부탁드립니다.
>
>
>
> [팁]DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키
> DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키
> 윈도우 탐색기나 찾기(파일, 컴퓨터)를 통해 볼 수 있는 결과 자료에서 각 컬럼의 필드 헤더를 클릭하는
> 것에 따라 그 컬럼 필드를 기준으로 정렬되는 것을 볼 수 있는데, 이것을 단지 윈도우 95의 기능이라고
> 지나치면 안된다. 우리가 사용자에게 데이터를 보여주는 형식도 이와 거의 유사하기 때문에 이러한 기능
> 은 매우 효과적이면서, 실무자들에게도 유용한 기능이 될 수 있다. 구현 방법은 델파이 3.0에서 추가된
> 컬럼 헤더의 클릭 이벤트로 쉽게 처리할 수 있는데, 사용자가 모든 필드를 대상으로 인덱스를 요구할 것
> 이므로 동적인 인덱스키를 지정하는 방법보다는 간단히 SQL문의 ORDER BY를 사용하는 것이 더 좋을 것
> 같다. 다음은 DBDEMOS 알리아스에 있는 CUSTOMER 테이블로 데모를 만든 것이다.
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> DBGrid1.Options := [dgTitles,dgIndicator,dgColLines,
> dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];
> end;
>
> procedure TForm1.DBGrid1TitleClick(Column: TColumn);
> begin
> Query1.SQL[1] := Column.FieldName;
> Query1.Close;
> Query1.Open;
> end;
>
> procedure TForm1.FormShow(Sender: TObject);
> begin
> with Query1 do begin
> Close;
> SQL.Clear;
> SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');
> SQL.Add('CUSTNO');
> Open;
> end;
> end;
>
>
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
강경중
•
1999.07.04 00:00
2
COMMENTS
/
0
LIKES
퀵리포트 너무 어려워요......
신호성
•
1999.07.04 21:14
강경중 께서 말씀하시기를... > 저는 퀵리포트를 처음 접해보는 퀵 초보 입니다. > 델파이에서 쿼리 콤포...
손인호
•
1999.07.05 17:19
신호성 께서 말씀하시기를... > 강경중 께서 말씀하시기를... > > 저는 퀵리포트를 처음 접해보는 퀵 초...
정남용
•
1999.04.16 01:29
3
COMMENTS
/
0
LIKES
인스톨쉴드로 BDE를 배포하는데
김정선
•
1999.04.23 00:51
저두 같은 문제로 올렸는데 고맙게도 web@ns.nilex.co.kr라는 분이 메일을 보내왔더라구요.. Autoexec.bat...
이정욱
•
1999.04.17 02:26
저도 역시 이런 문제 때문에 고생을 한적이 있었습니다. 전 엑세스 DB를 사용했을때 문제였죠. 그래서 결...
김정선
•
1999.04.16 22:56
저두 같은 문제가 있었어요.. 아시는 분 꼭좀 가르쳐 주세요 전 델파이4.0 오라클 8.0.5버젼을 가지고 ...
한상훈
1999.07.03 22:39
0
COMMENTS
/
0
LIKES
odbc에 관하여...
왕초
•
1999.07.03 21:28
2
COMMENTS
/
0
LIKES
TreeView에서..
트리뷰에서 하위 노드가 없어도 상위 노드에 +표시를 하고 싶습니다.. 어떻게 해야되죠?
강지영
•
1999.04.23 00:51
구창민님의 홈페이지 팁/강좌란에서 읽은 팁입니다. 실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리...
배리스
•
1999.04.23 17:51
안녕하세요. 강지영씨.. 오늘은 날씨가 별로 좋지 않네요. 하지만 이런 날씨가 더 좋은것 같습니다. 왜냐...
김길중
•
1999.07.03 20:00
1
COMMENTS
/
0
LIKES
컴파일 실행이 안되요...
이정욱
•
1999.07.03 21:09
코드에디터 밑의 에러와 워닝을 보여주는 창을 유심히 살펴보세요.. 혹시 그곳에 Can not output 어쩌구 ...
권용만
•
1999.04.22 19:12
3
COMMENTS
/
0
LIKES
Tablel or Query에서 Field추가..
신인재
•
1999.04.22 19:50
권용만 wrote: > 항상 도움을 주셔서 감사합니다. > RunTime시에 Table 또는 Query에 필드를 넣으려 합니...
권용만
•
1999.04.22 22:56
신인재 wrote: > 권용만 wrote: > > 항상 도움을 주셔서 감사합니다. > > RunTime시에 Table 또는 Query...
신인재
•
1999.04.23 00:43
권용만 wrote: > 신인재 wrote: > > 권용만 wrote: > > > 항상 도움을 주셔서 감사합니다. > > > RunTi...
황인수
•
1999.04.22 23:55
2
COMMENTS
/
0
LIKES
마스터-디테일.. 코딩으로 구현하기
이호선
•
1999.07.03 19:24
안녕하세요 LightLib가격에 대해 궁금합니다. Nilex싸이트에 가보았지만 그에대한 사항은 없더군요. 답...
이정욱
•
1999.07.03 21:06
LightLib는 현재 단종된 품목입니다. 미국 Luxent사에서 더이상 업그레이드와 기술지원을 안한다고 하네요...
정재홍
1999.07.03 18:57
0
COMMENTS
/
0
LIKES
Abstract error!
박성훈
1999.07.03 18:24
0
COMMENTS
/
0
LIKES
델파이가 종료가 안되요
이승윤
•
1999.07.03 17:11
5
COMMENTS
/
0
LIKES
html을 보이거나 출력할 수 있는 콤포넌트(free)는...
송동일
•
1999.04.22 19:02
스트링 중간에 콤마가 있는 것을 float로 바꾸려면 어떻게 해야 되는지 궁금합니다. 예를 들면 스트링 ...
안치봉
•
1999.04.22 19:20
송동일 wrote: > 스트링 중간에 콤마가 있는 것을 float로 바꾸려면 어떻게 해야 되는지 > 궁금합니다. ...
송동일
•
1999.04.22 19:36
안치봉 wrote: > 송동일 wrote: > > 스트링 중간에 콤마가 있는 것을 float로 바꾸려면 어떻게 해야 되는...
글쎄요.
•
1999.04.22 23:29
송동일 wrote: > 안치봉 wrote: > > 송동일 wrote: > > > 스트링 중간에 콤마가 있는 것을 float로 바꾸...
안치봉
•
1999.04.22 19:51
송동일 wrote: > 안치봉 wrote: > > 송동일 wrote: > > > 스트링 중간에 콤마가 있는 것을 float로 바꾸...
권용만
•
1999.04.22 19:12
6
COMMENTS
/
0
LIKES
Tablel or Query에서 Field추가..
한승협
•
1999.07.03 14:28
안냐세여~ 거두절미하고.. 도서관프로그램을 짜보고 있는데요. 간단히 요약하믄.. 대출테이블(lend)의 ...
신인재
•
1999.04.22 19:50
권용만 wrote: > 항상 도움을 주셔서 감사합니다. > RunTime시에 Table 또는 Query에 필드를 넣으려 합니...
신호성
•
1999.07.03 18:24
한승협 께서 말씀하시기를... > 안냐세여~ 거두절미하고.. > > 도서관프로그램을 짜보고 있는데요. 간...
권용만
•
1999.04.22 22:56
신인재 wrote: > 권용만 wrote: > > 항상 도움을 주셔서 감사합니다. > > RunTime시에 Table 또는 Query...
시밀레
•
1999.07.03 15:37
이렇게 해보세요. 아래 예는 오라클에서입니다. select count(*) from lend le,usr us where le.user...
신인재
•
1999.04.23 00:43
권용만 wrote: > 신인재 wrote: > > 권용만 wrote: > > > 항상 도움을 주셔서 감사합니다. > > > RunTi...
하명훈
1999.07.03 12:10
0
COMMENTS
/
0
LIKES
Tfield 컴포넌트의 Lookup기능에 대하여...
고혜정
•
1999.07.03 10:12
4
COMMENTS
/
0
LIKES
인스톨쉴드만들때의 ODBC의 엘리어스설정
김성희
•
1999.04.21 09:07
제가 현재 메인폼을 만들고 있는데요... 2개의 폼을 썼거든요..!! 1개의 폼은 메뉴바부분으로 쓰고, 또...
김경수
•
1999.07.04 07:25
안녕하세요 김경수라고 합니다. 저같은경우는요 일단 사용하는 디비의 알리아스를설정부분이 레지스트리 ...
이채원
•
1999.04.21 09:54
김성희 wrote: > 제가 현재 메인폼을 만들고 있는데요... > 2개의 폼을 썼거든요..!! > 1개의 폼은 메뉴...
김성희
•
1999.04.22 21:11
빠른 답변 고맙습니다. 급한거였느데... 그럼, 행복하세요.
강지영
•
1999.04.21 05:31
4
COMMENTS
/
0
LIKES
초보적 sql이요..
디제이
•
1999.07.03 07:59
프로그램 시작시 화면을 숨긴상태로 구동시켜 일정시간이 지나면 나타나게 할려고 합니다. Form1.For...
박홍석
•
1999.04.21 09:20
강지영 wrote: > 라디오그룹에 세개의 아이템(Cust_No,Name,Phone)을 넣구요 > Edit1.Text를 넘겨받아서 ...
그냥
•
1999.07.08 00:14
숨길때는 Form1.hide; 보일때는 Form1.show; 해보세요. 디제이 께서 말씀하시기를... > > 프로그램...
강지영
•
1999.04.22 20:47
박홍석 wrote: > 강지영 wrote: > > 라디오그룹에 세개의 아이템(Cust_No,Name,Phone)을 넣구요 > > Edi...
박성훈
1999.07.03 06:18
0
COMMENTS
/
0
LIKES
제 방법이 적절한지 조언 좀...
김형하
•
1999.04.22 20:25
1
COMMENTS
/
0
LIKES
윈98에서 출력시 문제점.
이정욱
•
1999.04.23 07:10
네.. 저희도 통신 프로그램의 터미널을 만들때 부딪혔던 문제입니다. 프린터같은 경우면 간단하게 LineTo...
박성훈
1999.07.03 05:52
0
COMMENTS
/
0
LIKES
TCollection에서 컴포넌트...
신호철
•
1999.04.22 19:12
1
COMMENTS
/
0
LIKES
txt-->db로 읽고 싶어요
신인재
•
1999.04.22 20:18
신호철 wrote: > 매일생성되는 화일에서 정리에서 리포트로 뽑으려 하는데 > 잘 정리가 않되서요 그리고...
박성훈
•
1999.07.03 05:46
1
COMMENTS
/
0
LIKES
Tab이 있는 컨트롤들에 대하여...
정재홍
•
1999.07.03 07:12
박성훈 께서 말씀하시기를... Q> 첫째, TTabControl에서 탭이 변경될 때 서로 다른 내용을 보여주려면 어...
김대원
1999.07.03 05:40
0
COMMENTS
/
0
LIKES
TRxDBLookUpCombo box 사용에 대해
왕초
1999/07/03 21:28
Views
505
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리가 sorting되었습니다.
그런데 문제는.. 제가 만든 테이블로 실행을 하면 타이틀을 클릭할때마다
sorting이 되기는 되는데 결과문은 전혀 변함이 없었습니다.
원인을 분석해 보려고 하지만 중간의
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Query1.SQL[1] := Column.FieldName;
Query1.Close;
Query1.Open;
end;
부분에서 SQL[1]이 무엇을 가르키는 것인지 모르겠습니다.
꼭 좀 알려주세요.
부탁드립니다.
[팁]DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키
DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키
윈도우 탐색기나 찾기(파일, 컴퓨터)를 통해 볼 수 있는 결과 자료에서 각 컬럼의 필드 헤더를 클릭하는
것에 따라 그 컬럼 필드를 기준으로 정렬되는 것을 볼 수 있는데, 이것을 단지 윈도우 95의 기능이라고
지나치면 안된다. 우리가 사용자에게 데이터를 보여주는 형식도 이와 거의 유사하기 때문에 이러한 기능
은 매우 효과적이면서, 실무자들에게도 유용한 기능이 될 수 있다. 구현 방법은 델파이 3.0에서 추가된
컬럼 헤더의 클릭 이벤트로 쉽게 처리할 수 있는데, 사용자가 모든 필드를 대상으로 인덱스를 요구할 것
이므로 동적인 인덱스키를 지정하는 방법보다는 간단히 SQL문의 ORDER BY를 사용하는 것이 더 좋을 것
같다. 다음은 DBDEMOS 알리아스에 있는 CUSTOMER 테이블로 데모를 만든 것이다.
procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.Options := [dgTitles,dgIndicator,dgColLines,
dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];
end;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
Query1.SQL[1] := Column.FieldName;
Query1.Close;
Query1.Open;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
with Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');
SQL.Add('CUSTNO');
Open;
end;
end;