完整的一套: procedure TBaseDataFrm.DataSource1DataChange(Sender: TObject; Field: TField); begin RecordSetButton; end;procedure TBaseDataFrm.RecordSetButton; begin if (Query1.State <> dsInsert) and (Query1.State <> dsEdit) then with MainForm.DataFrame1 do begin if Query1.Eof then begin btnNext.Enabled := False; btnLast.Enabled := False; end else begin btnNext.Enabled := True; btnLast.Enabled := True; end; if Query1.Bof then begin btnFirst.Enabled := False; btnPriv.Enabled := False; end else begin btnFirst.Enabled := True; btnPriv.Enabled := True; end; end; end;
完整的一套: procedure TBaseDataFrm.DataSource1DataChange(Sender: TObject; Field: TField); begin RecordSetButton; end;procedure TBaseDataFrm.RecordSetButton; begin if (Query1.State <> dsInsert) and (Query1.State <> dsEdit) then with MainForm.DataFrame1 do begin if Query1.Eof then begin btnNext.Enabled := False; btnLast.Enabled := False; end else begin btnNext.Enabled := True; btnLast.Enabled := True; end; if Query1.Bof then begin btnFirst.Enabled := False; btnPriv.Enabled := False; end else begin btnFirst.Enabled := True; btnPriv.Enabled := True; end; end; end;
楼上说了 或者自己在Button的OnClick事件里添加代码 procedure Tyourform.NextBtnClick(Sender: TObject); begin if not yourquery.eof then begin yourquery.Next; if not PriorBtn.Enabled then PriorBtn.Enabled := true; end else begin NextBtn.Enabled := false; end; end; procedure Tyourform.PriorBtnClick(Sender: TObject); begin //跟上面反过来 end;
procedure TBaseDataFrm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
RecordSetButton;
end;procedure TBaseDataFrm.RecordSetButton;
begin
if (Query1.State <> dsInsert) and (Query1.State <> dsEdit) then
with MainForm.DataFrame1 do
begin
if Query1.Eof then
begin
btnNext.Enabled := False;
btnLast.Enabled := False;
end
else
begin
btnNext.Enabled := True;
btnLast.Enabled := True;
end;
if Query1.Bof then
begin
btnFirst.Enabled := False;
btnPriv.Enabled := False;
end
else
begin
btnFirst.Enabled := True;
btnPriv.Enabled := True;
end;
end;
end;
procedure TBaseDataFrm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
RecordSetButton;
end;procedure TBaseDataFrm.RecordSetButton;
begin
if (Query1.State <> dsInsert) and (Query1.State <> dsEdit) then
with MainForm.DataFrame1 do
begin
if Query1.Eof then
begin
btnNext.Enabled := False;
btnLast.Enabled := False;
end
else
begin
btnNext.Enabled := True;
btnLast.Enabled := True;
end;
if Query1.Bof then
begin
btnFirst.Enabled := False;
btnPriv.Enabled := False;
end
else
begin
btnFirst.Enabled := True;
btnPriv.Enabled := True;
end;
end;
end;
或者自己在Button的OnClick事件里添加代码
procedure Tyourform.NextBtnClick(Sender: TObject);
begin
if not yourquery.eof then begin
yourquery.Next;
if not PriorBtn.Enabled then
PriorBtn.Enabled := true;
end else begin
NextBtn.Enabled := false;
end;
end;
procedure Tyourform.PriorBtnClick(Sender: TObject);
begin
//跟上面反过来
end;