Q&A

  • 디비그리드에서 옵션 사항을 코딩으로 하는법이여?
디비그리드에 콤보박스를 적용 시켰습니다.
4개의 컬럼 중 2개만이 적용되는데여
마우스로 클릭하면 콤보박스가 안생기고여
키를 통해서 셀을 설정 된 상태로 움직여서 콤보박스 컬럼에 위치시키면
콤보박스가 나타나거든여

디비그리드 옵션에 있는 dgEditting를 false로 했을 경우에는
마우스로 해도 동작되는데 일반 2개의 컬럼은 편집을 할 수가 없네여
그래서 cellclick 이벤트에서 직접 변경하려는데 안되네여
하는 방법 알려주세요...

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if ( gdFocused in State ) then
begin
if ( Column.FieldName = DBLookupComboBox1.DataField ) then
  begin
  with DBLookupComboBox1 do
   begin
   Left    := Rect.Left   + DBGrid1.Left;
   Top     := Rect.Top    + DBGrid1.Top;
   Width   := Rect.Right  - Rect.Left;
   Visible := True;
   end;
  end;
end;

일반 컬럼에서는 마우스 클릭햇을경우 편집,
콤보를 올린 컬럼에서는 콤보박스가 동작되도록 하려고 합니다.

1  COMMENTS
  • Profile
    정정봉 2004.11.18 00:49
      DBGrid1.Options := [dgEditing,dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];
    이런식으로 코딩함 될것 같은데요.
    True시키고자 하는 항목을 []안에 코딩하세요