|
정수용 님이 쓰신 글 :
: 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";
}
|