Delphi DBGridEh 제목 표시줄 제작(복잡한 제목 표시줄, 제목 표시줄에 그림 표시, 점 제목 표시줄에 따라 정렬)


1. 제목 줄 사용자 정의
<1>, 복잡한 제목 행 만들기
머리글 행은 두 줄 이상의 높이로 설정할 수 있으며 여러 열에 공통의 부모 머리글 행을 만들 수 있습니다.이 효과를 실현하기 위해서는
각 열의 제목 속성에서 "|"로 부제목과 부제목을 구분한다. 예를 들어 사무용품은 코드와 명칭 두 부분을 포함한다.
글꼴 속성 설정은 다음과 같습니다.
usemultititile=true;
titlelines=2
DBGridEh.Columns[0].Title.Caption: ='사용품 | 코드',
DBGridEh.Columns[1].Title.Caption: ='사용품 |명칭',
 
<2>, 제목 줄 표시 그림
우선 imagelist 구성 요소인img1을 추가하고 bmp,ico 형식의 그림을 추가합니다.DBGridEh
의 TitleImages를 img1로 설정합니다.마지막으로 그림을 표시할 열 제목의 Title/image index에 표시를 설정합니다
그림의 번호를 표시합니다.
 
<3>, 제목 줄의 승강 정렬 표시자 (▲ 내림차순 △승차순) 를 자동으로 표시하고 정렬
DBGridEh 구성 요소는 제목 줄 칸에 작은 삼각형의 승강, 하강 정렬 표지 그림을 표시하고 실행할 때 점을 찍을 수 있습니다
제목 줄을 누르면 그림이 자동으로 전환되고 정렬됩니다.등록 정보는 다음과 같이 설정됩니다.
DBGridEh의: 속성 OptionsEh의 하위 속성 dghAutoSortMarking:true로 설정하기;  
DBGridEh 중 한 열의 속성 Title의 하위 속성 TitleButton:true로 설정하기;
SortMarkedColumns는 현재 정렬 열을 런타임에 사용할 수 있습니다.
그런 다음 이 열의 ontitleBtnclick 이벤트에 코드를 추가합니다.
procedure   TForm_Query.DBGridEh1TitleBtnClick(Sender:   TObject; 

ACol:   Integer;   Column:   TColumnEh); 

var

  sortstring:string;   //   

begin

//    

  with   Column   do

  begin

    if   FieldName   =   ' '   then   Exit;

    if TADOQuery(TDBGridEh(Sender).DataSource.DataSet).Active = False then  Exit;

    case   Title.SortMarker   of

      smNoneEh:

        begin

          Title.SortMarker := smDownEh;

          sortstring := Column.FieldName + ' ASC ';

        end;

      smDownEh:begin  sortstring := Column.FieldName + ' ASC ';   end;

      smUpEh: begin  sortstring := Column.FieldName + ' DESC '; end;

    end;

    try    //    

      TADOQuery(TDBGridEh(Sender).DataSource.DataSet).Sort := sortstring  

    except

    end;

  end;

end;


lookup형 필드는 상기 설정을 할 수 없습니다. 그렇지 않으면 오류가 발생할 수 있습니다.
 

좋은 웹페이지 즐겨찾기