Q&A

  • infopower DB그리드에서 오른쪽 정렬하는 방법..
infopower 사용자 입니다.
DB 그리드안에 있는 내용을 오른쪽으로 정렬을 하려 하는데..
잘 안되네여...

제목은 따로 정렬을 할수 있는데 내용은 어떻게 하는지 모르겠습니다.

아시는 분들..  제발 도움좀 주세여..
3  COMMENTS
  • Profile
    Crazy™ 2005.03.29 06:19
    INFOPOWER 2000, 3000 모두 Datasource에 연결됩니다.
    즉 Query 또는 Table 의 해당필드의 Alignment 를 바꾸면 되는거죠^^

    이건 보너스인데 참고로 그림보시면 타이틀이 2줄로 되어있습니다.
    => infopower 의 프로퍼티중 titleline을 2로 바꾸시고
    => 그림처럼 infopower 를 더블클릭해서 store display....를 체크해제
    => 해당컬럼들을 froup name을 동일하게 주면 됩니다.
    => poemno처럼 2줄, 3줄로 할때는 ~ (물결)이 다음라인이 됩니다.
    참.info2000은 되는지 모르겠네요^^; 기억이 가물가물...


  • Profile
    울트라별 2005.03.29 19:45
    답변 감사합니다.
    그런데 저는 테이블을 이용해서 하는게 아니고 Query를 이용해서 디비그리드에 넣거든요.

    디비그리드 속성에서 바로 될순 없는지요?
    일반 그리드에서는 DrawCell에서 했었는뎅.

    infopower는 DrawDataCell을 이용해서는 할순 없을까요???


  • Profile
    Crazy™ 2005.03.30 01:49
    Table 은 제가 화면으로 보여줄려고 일부로 한거구요
    Table 이나 Query 나 똑같습니다.
    Query 필드리스트중 해당 필드의 alignment 만 해주면 됩니다.
    이해를 못하겠군요.. query 의 해당 필드의 정렬속성만 바꾸면 되는데
    굳이 drawcell 이벤트에서 하실려는지...

    여튼 님이 원하신것은....... 그럼 즐프하세욤~
    <!--CodeS-->
    procedure TForm1.wwDBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    var
         iX, iY : Integer;
    begin
         iY := Rect.Top + 4;

         // 가운데 정렬
         if (Field.FullName = 'USERDIV') then
         begin
              iX := (Rect.Left + Rect.Right) div 2;
              SetTextAlign(wwDBGrid1.Canvas.Handle, TA_CENTER);
              wwDBGrid1.Canvas.TextRect(Rect, iX, iY, Field.AsString);
              Exit;
         end;
         // 왼쪽 정렬
         if (Field.FullName = 'REGNO') then
         begin
              iX := Rect.Left + 3;
              SetTextAlign(wwDBGrid1.Canvas.Handle, TA_LEFT);
              wwDBGrid1.Canvas.TextRect(Rect, iX, iY, Field.AsString);
              Exit;
         end;
         // 오른쪽 정렬
         if (Field.FullName = 'ENTERNAME') then
         begin
              iX := Rect.Right - 3;
              SetTextAlign(wwDBGrid1.Canvas.Handle, TA_RIGHT);
              wwDBGrid1.Canvas.TextRect(Rect, iX, iY, Field.AsString);
              Exit;
         end;
    end;
    <!--CodeE-->

    여기 델파이 사이트의