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
[9361] Re:[질문]DBGrid title column 클릭시에 그 column 기준으로 sorting
정수용 [wisrage] 1548 읽음    2001-07-26 17:23
정수용 님이 쓰신 글 :
: DBGrid 에 OnTitleClick 이 있어서 event를 받더군요...
: vb에서는 스프레드 sheet 을 이용했을 때 간단하게 소팅 변수 값만 주면 해결되었는데..
: DBGrid 에서는 그렇게 할 수 없는지요...
: 보니까 ctrl+spacebar 누르면 sortASCEND 이러한 변수가 존재하더군요...
: sortASCEND 라는 값을 줌으로 해서 바로 소팅 되게 할 수는 없나요?
: vb spreadsheet 에서는 가능했거든요...
: 혹 아시는 분 있으면 알려주세요~~~
: 그럼 수고하세요~~


알아냈습니다...^^;;; 좋은 방법인지는 모르겠지만....
DBGrid title click event에 아래와 같이 Index 속성을 이용했답니다...


void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
{
    TIndexOptions opts;

    if(CDSetRetrieve->IndexName == Column->FieldName + "Index")
    {
        CDSetRetrieve->DeleteIndex(Column->FieldName + "Index");
    }
    else if( CDSetRetrieve->IndexName != "" )
    {
        CDSetRetrieve->DeleteIndex(CDSetRetrieve->IndexName);
    }

    if(Label2->Caption == Column->FieldName)
    {
        opts << ixDescending;
        Label2->Caption = "";
    }
    else
    {
        opts << ixCaseInsensitive;
        Label2->Caption = Column->FieldName;
    }

    CDSetRetrieve->AddIndex(Column->FieldName + "Index", Column->FieldName
            , opts, "", "",0);
    CDSetRetrieve->IndexName = Column->FieldName + "Index";
}

+ -

관련 글 리스트
9343 [질문]DBGrid title column 클릭시에 그 column 기준으로 sorting 정수용 953 2001/07/26
9361     Re:[질문]DBGrid title column 클릭시에 그 column 기준으로 sorting 정수용 1548 2001/07/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.