窗体哪来Dataset属性?我倒是做了下个公共过程,用于控制你所说的这四个按钮的enabled
状态。这四个按钮放在窗体的工具栏上,不同窗体使用时只需拷贝即可:
procedure G_DataNavi(B_Set:TDataset;B_First,B_Prior,B_Next,B_Last:TSpeedButton);
//根据数据表当前位置设置各移动按钮的状态
begin
With B_Set do
begin
if isEmpty then
begin
B_first.Enabled :=false;
B_prior.Enabled :=false;
B_Next.Enabled :=false;
B_Last.Enabled :=false;
exit;
end;
if RecNo=1 then
begin
B_first.enabled:=false;
B_Prior.enabled:=false;
end
else
begin
B_First.enabled:=true;
B_prior.enabled:=true;
end;
if RecNo=Recordcount then
begin
B_next.enabled:=false;
B_Last.enabled:=false;
end
else
begin
B_Next.enabled:=true;
B_Last.enabled:=true;
end;
end;
end;
然后在每一个按钮的执行命令中只需在执行完相应代码时执行一下该过程,即可设置其相应
的状态,如上一条按钮的执行:
Data.Set_Gnp.Prior; //Data.Set_Gnp是数据集控件。
G_DataNavi(Data.Set_Gnp,Btn_First,Btn_Prior,Btn_Next,Btn_Last);