判断到达最后一条记录时按钮为不可用,怎么办?(20)

  • 主题发起人 主题发起人 极品铁观音
  • 开始时间 开始时间

极品铁观音

Unregistered / Unconfirmed
GUEST, unregistred user!
下面这段程序不能达到效果,要多按两下才会变为不可用,记录是插入临时表的没有空记录,怎么办?是不是程序错了?with adoquery1 dobeginif not eof then Nextelse BitBtn5.Enabled :=false ;end;
 
with adoquery1 dobeginif (not eof) or (not bof) then Nextelse BitBtn5.Enabled :=false ;end; 这样试下
 
不行,我要的是当记录到达最后一条时“下一条”的按钮设为不可用,但我试了几个办法都是要多按一次才能变成不可用。这本来是个简单问题。
 
with adoquery1 dobeginif not eof then Next;//elseif eof then BitBtn5.Enabled :=false ;end; //用你的修改了下
 
也还是要再按一次才变成不可用
 
那你就看下adoquery1的RecordCount到底是多少条把你改后的代码贴上来
 
改为 BitBtn5.Enabled := not Eof 试试。
 
DBNavigator1的last和first效果
 
with adoquery1 dobeginif not eof then Next;end; if eof then BitBtn5.Enabled :=false ;
 
with adoquery1 dobeginif not eof thenbegin Next; if eof then BitBtn5.Enabled :=false; end;
 
没太注意这个,看了TDBNavigator代码才发现其实他的按钮也是有这个问题的,到了最后一条再点Next按钮才会变灰。procedure TDBNavigator.DataChanged;var UpEnable, DnEnable: Boolean;begin UpEnable := Enabled and FDataLink.Active and not FDataLink.DataSet.BOF; DnEnable := Enabled and FDataLink.Active and not FDataLink.DataSet.EOF; Buttons[nbFirst].Enabled := UpEnable; Buttons[nbPrior].Enabled := UpEnable; Buttons[nbNext].Enabled := DnEnable; Buttons[nbLast].Enabled := DnEnable; Buttons[nbDelete].Enabled := Enabled and FDataLink.Active and FDataLink.DataSet.CanModify and not (FDataLink.DataSet.BOF and FDataLink.DataSet.EOF);end;
 
对啊也只能这样了,非常感谢大家的捧场。分不多把它分了。我是在别人的PB应用程序上看到每到表的最后一条记录,“下一组”的按钮马上变灰色。唉,留点程序小瑕疵吧。再次感谢。
 

Similar threads

回复
0
查看
815
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部