Q&A

  • DBGrid 컬럼길이 조정하는 방법..
델파이5를 이용하여 코딩하고 있습니다.
일자별로 쿼리가 바껴서 컬럼의 갯수가 달라집니다.

DBgridEh 와 Datasource, 그리고 데이터셋을 연결하여
qry.Open 시에 그리드에 내용을 뿌려주도록 코딩했습니다.

실행하면.. DBGrid에 해당컬럼들이 모두 들어오는데... 각 컬럼들간의 간격이
제각기 나옵니다.

여기저기 검색해봐도.. 원하는 답을 못찾아서 이렇게 올립니다..
아시는분 답변좀 부탁드립니다.

============ 이 하 코드부분 =====================
qryExercise.Close;
qryExercise.SQL.Clear;
qryExercise.SQL.Text := GetDataQuery;
qryExercise.ParamByName('BOOK_DATE').AsString := pBookDate;
qryExercise.Open;

for i := 0 to qryExercise.FieldCount -1 do
begin
   DBGridEh1.Columns[i].Width := 150;   // 적용안됨.. 이유를 모르겠음.. ??
end;
1  COMMENTS
  • Profile
    방극선 2006.03.22 20:33



      Query에서 가져오는 Field에 DisplayWidth 속성이 있으며 이를 그리드 그릴때 컬럼 길이로
    사용하게 됩니다 이것을 가로채서 조정하세요...

    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    var
       i: integer;
    begin
      with Query1 do begin
        for I := 0 to Fields.Count - 1 do
          Fields[i].DisplayWidth := 20;  //숫자는 문자수 즉 테이블 작성시 만든 필드 길이...
        next;

      end;

      꼭 이렇게 해야만 할까요??
      좋은 하루 되세요!