안녕하세요..
먼저 제 문제에 관심을 가져주셔서 고맙습니다...^^
TTable component를 사용해서 DBGrid에 table을 연결했습니다.
이후 DBGrid의 OnTitleClick event를 사용해서 DBGrid의 title field를 클릭하면
sorting이 되도록 하려고 했습니다.
procedure TForm1.DBGrid1TitleClick(Column : TColumn);
begin
table1.IndexName := Column.FieldName;
end;
FieldName과 IndexName은 동일합니다.
단, 문제는 Index가 지정된 field는 sorting이 되는데,
Index가 지정되지 않은 field의 title을 클릭하면 error가 발생을 하는군요.
모든 field에 대해 index를 지정하지 않고, 일부 field만 sorting이 가능하도록 하는
방법은 없을까요? 제 생각엔 클릭한 Title의 field을 선별할 수 있다면
(mouse의 위치라든지..) 해결할 수 있을 것 같아 여러 가지 시도를 해보았는데
실력이 역부족입니다.
그리고 click event 발생시 오름차순과 내림차순이 반복되도록 할 수 있는 방법도
아시면 가르쳐 주셨으면 합니다.
너무 아는 바가 없어 질문조차도 영 아니네요.
많은 지적과 가르침 부탁드립니다.
그럼 행복하세요...구벅 ^^*♬
제가 자료실에 올려놓은 자료 있거든요.
한번 참고해보세요..
TTable에서는 AddIndex라는 메소드가 바로 존재하니까 ClientDataSet를 쓸 필요는 없겠네요..
도움이 돼었으면 하네요..
물리학부생 wrote:
> 안녕하세요..
>
> 먼저 제 문제에 관심을 가져주셔서 고맙습니다...^^
>
> TTable component를 사용해서 DBGrid에 table을 연결했습니다.
> 이후 DBGrid의 OnTitleClick event를 사용해서 DBGrid의 title field를 클릭하면
> sorting이 되도록 하려고 했습니다.
>
> procedure TForm1.DBGrid1TitleClick(Column : TColumn);
> begin
> table1.IndexName := Column.FieldName;
> end;
>
> FieldName과 IndexName은 동일합니다.
>
> 단, 문제는 Index가 지정된 field는 sorting이 되는데,
>
> Index가 지정되지 않은 field의 title을 클릭하면 error가 발생을 하는군요.
>
> 모든 field에 대해 index를 지정하지 않고, 일부 field만 sorting이 가능하도록 하는
>
> 방법은 없을까요? 제 생각엔 클릭한 Title의 field을 선별할 수 있다면
>
> (mouse의 위치라든지..) 해결할 수 있을 것 같아 여러 가지 시도를 해보았는데
>
> 실력이 역부족입니다.
>
> 그리고 click event 발생시 오름차순과 내림차순이 반복되도록 할 수 있는 방법도
>
> 아시면 가르쳐 주셨으면 합니다.
>
> 너무 아는 바가 없어 질문조차도 영 아니네요.
>
> 많은 지적과 가르침 부탁드립니다.
>
> 그럼 행복하세요...구벅 ^^*♬