Q&A

  • 버튼과 DBGrid그리고 각각의 이벤트.....
버튼이 2개가 있습니다.....그리고 DB Grid가 있습니다....

버튼을 각각 눌렀을때 각각 다른 함수가 실행이 되어 DBGrid가 채워 집니다.

그런데 DBGrid의 이벤트중 OnCellClick이란 이벤트가 있습니다.

문제는 이겁니다.

버튼 1을 눌렀을때는 OnCellClick이란 이벤트 코드가 돌아가고

버튼 2을 눌렀을떄는 OnCellClick이란 이벤트 코드가 아예 돌지 않거나 다른 코드가 실행되도록 하고 싶습니다.


어떻게 하면 좋을까여.....고수님들의 조언 바랍니다.....감사합니다..
1  COMMENTS
  • Profile
    홍성락 2002.09.01 00:30
    hsr/////////////////////////////////////////////////////////
    DBGrid1의 OnCellClick를 잠시 막거나 다른걸로 연결하면됩니다.

    procedure TForm1.Button1Click(Sender: TObject);
    begin
         ...
         DBGrid1.OnCellClick := DBGrid1CellClick;
    end;


    procedure TForm2.Button1Click(Sender: TObject);
    begin
         ...
         DBGrid1.OnCellClick := nil; 또는
         DBGrid1.OnCellClick := DBGridNewCellClick;
    end;

    단, 전제조건은 아래 두 함수가 만들어지고,
    TForm1 클래스에 선언 되어 있어야합니다.
    type
      TForm1 = class(TForm)
        DBGrid1: TDBGrid;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure DBGrid1CellClick(Column: TColumn);                 <-----
        procedure DBGridNewCellClick(Column: TColumn);            <-----

      private
        { Private declarations }
      public
        { Public declarations }
      end;
    .....
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin

    end;
    procedure TForm1.DBGridNewCellClick(Column: TColumn);
    begin

    end;