Q&A

  • [질문 하나 더!]DBGRID의 칼럼 고정에 관한 것임당.
DBGRID의 DrawColumnCell이벤트에



TStringGrid(DBGrid1).FixedCols := 2;



하니까..칼럼 고정은 되는데요...문제가 좀 있네요...



첫번째는, 고정된 칼럼의 title이 안보이네요...고정 안된 칼럼은 보이는데...



두번째는, NEXT, PRIOR 하면 고정된 칼럼만이 폰트가 흰색, 검정색, 짙은 파랑색으로

막 변하는군요....

세번째는, Option에서 dgEditing 을 True로 해놓으면, 칼럼을 클릭할때 칼럼이 하나

더 생기는군요..고정된 그 칼럼으로....



경험있으신분은 말씀 좀 해주시고요...저에게 해결의 기쁨을 느낄수 있는 기회를

주신다면 정말 정말 감사하겠습니다 ...

2  COMMENTS
  • Profile
    홍성락 2001.09.07 08:10
    MUTGGO wrote:

    > DBGRID의 DrawColumnCell이벤트에

    >

    > TStringGrid(DBGrid1).FixedCols := 2;

    >

    > 하니까..칼럼 고정은 되는데요...문제가 좀 있네요...

    >

    > 첫번째는, 고정된 칼럼의 title이 안보이네요...고정 안된 칼럼은 보이는데...

    >

    > 두번째는, NEXT, PRIOR 하면 고정된 칼럼만이 폰트가 흰색, 검정색, 짙은 파랑색으로

    > 막 변하는군요....

    > 세번째는, Option에서 dgEditing 을 True로 해놓으면, 칼럼을 클릭할때 칼럼이 하나

    > 더 생기는군요..고정된 그 칼럼으로....

    >

    > 경험있으신분은 말씀 좀 해주시고요...저에게 해결의 기쁨을 느낄수 있는 기회를

    > 주신다면 정말 정말 감사하겠습니다 ...

    ///////////////////////////////////////////////////////////////////////

    아래방법을한번써보세요

    FormShow에서 TAB키를 눌러 첫컬럼이 선택되는것을 막기위해

    SendMessage(DBGrid1.Handle,WM_KEYDOWN,9,0);쓰고요



    OnDrawColumnCell에는 TStringGrid(DBGrid1).FixedCols := 2;

    로 첫컬럼을 고정으로 만들기위해 그대로쓰고요



    OnMouseMove에는

    procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,

    Y: Integer);

    var

    GXY : TGridCoord;

    begin

    GXY := DBGrid1.MouseCoord(x,y);//현 마우스 위치의 셀을구함

    if GXY.X = 1 then begin //첫번째 컬럼일때는 마우스가 못들어가게 막음

    DBGrid1.DragMode := dmAutomatic;

    end

    else begin

    DBGrid1.DragMode := dmManual;

    end;

    end;

  • Profile
    구자균 2001.09.07 03:20
    저도 칼럼 고정땜시리 고생을 많이 했는데..



    칼럼 고정되는 컴포넌트가 있을거여요.

    저도 찾다찾다 못찾았는데 시간이 되믄 함 찾아보시구여..



    결국 편법을