在有数据窗体时的AfterScroll事件的用法?(每人知道?再加分) (100分)

  • 主题发起人 主题发起人 nb121212
  • 开始时间 开始时间
N

nb121212

Unregistered / Unconfirmed
GUEST, unregistred user!
有Form1和DataModule(数据窗体),
Form1上有DBgrid和button1,button2;
DataModule(数据窗体)上有Tabel1,datasourse1;
想用DBgrid中的AfterScroll事件控制button1,button2的Enable,但双击AfterScroll事件
后,却定义在DataModule(数据窗体)上,问在DataModule单元中怎么写控制button1,button2的Enable
的语句呢?
 
procedure TForm1.FormCreate(Sender: TObject);
begin
DataModule1.Table1.AfterScroll:=Query1AfterInsert;
end;

procedure TForm1.Query1AfterInsert(DataSet: TDataSet);
begin
with DataSet do
begin
Button1.Enabled:= (not Bof) and (not IsEmpty);
Button2.Enabled:= (not Eof) and (not IsEmpty);
end;
end;
 
riversoft:
再问一下,如果想把Form1,Form2中的通用过程写在一个单元中,但该通用过程都涉及
Form1,Form2中的控件,该如何实现?
 
Query1AfterInsert; 是什么?
提示:Undeclared identifier:"Query1AfterInsert" 错误?
 
你要在TForm1的private部分把那个函数声明一下!

通用过程写在一个单元中,最好把要用的控件作为参数传入
 
procedure TForm1.FormCreate(Sender: TObject);
begin
DataModule1.Table1.AfterScroll:=Query1AfterInsert;
end;

procedure TForm1.Query1AfterInsert(DataSet: TDataSet);
begin
with DataSet do
begin
Button1.Enabled:= (not Bof) and (not IsEmpty);
Button2.Enabled:= (not Eof) and (not IsEmpty);
end;
end;


Query1AfterInsert; 是什么?
提示:Undeclared identifier:"Query1AfterInsert" 错误?
看不懂!!!
 
把你的焦点移动到DataModule,然后USE FORM1就行了。
或者 Button1.Enabled:= (not Bof) and (not IsEmpty);
改成 form1.Button1.Enabled:= (not Bof) and (not IsEmpty);
 
多人接受答案了。
 
后退
顶部