求助一个很简单的数据集定位的问题,高手请进! ( 积分: 13 )

  • 主题发起人 zpselect
  • 开始时间
Z

zpselect

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这么一个功能:工雎栏中有四个按钮,Btn_First,Btn_Prior,Btn_Next,Btn_Last
这四个按钮的功能为数据集的:ADODateSet.First,ADODateSet.prior,ADODataSet.Next,
ADODateSet.Last;
我们都用过DBNavigator控件,我要实现的功能与DBNavigator控件一样!
功能:
1:当记录为第一笔记录时,Btn_First ,Btn_Prior 的Enable为false
2:当记录为最后一笔记录时,Btn_Next,Btn_Last 的Enable 为false
3: 其它情况都为true;
我自已数据集的BeforeScroll,和AfterScroll中都写了如下代码,但达到我想要的结果
即当记录为第一笔了,要再点一下Btn_First或Btn_Prior铵钮才将两按钮的Enable值变为False!
代码如下:
Btn_First.Enable:=not(ADODataSet.Bof);
Btn_prior.Enable:=not(ADODataSet.Bof);
Btn_Next.Enable:=not(ADODataSet.Eof);
Btn_Last.Enable:=not(ADODataSet.Eof);
 
我在ProgramBBS给你留言了,你的问题在这里比在那边描述的清楚
你上面四行代码如果放在DataSet的AfterScroll中,这四个按钮的表现和Navigate中的前四个按钮一样,如果仅仅只是为了把四个按钮放入工具栏中,有两种办法可以实现:
1、直接把Navigator放入ControlBar(CoolBar),会自动生成一个单独的工具栏,隐藏不需要的按钮就可以了。
2、使用标准的DataSet的Action,不用编码,直接指定ToolButton的Action就可以实现你要的效果
 
wzh706096:
我的提问的内容中,我已经说明了,我曾在BeforeScroll,和AfterScroll中都写过如下代码
Btn_First.Enable:=not(ADODataSet.Bof);
Btn_prior.Enable:=not(ADODataSet.Bof);
Btn_Next.Enable:=not(ADODataSet.Eof);
Btn_Last.Enable:=not(ADODataSet.Eof);
问题
1:当已经是第一笔记录了,可Btn_First and Btn_prior 的Enabled还是为true,要再
点一下Btn_First or Btn_prior之后 才可将它们的Enable值变为False.
2:当已经是最后一笔记录了,可是Btn_Next and Btn_Last的Enabled还是为true,要再
点一下Btn_Next or Btn_Last之后 才可将它们的Enable值变为False.
3:我用过Action中自带的导航功能,其出现的问题与上述 1,2两点一样!,不信的话你
可以去试一下就知道了!
 
顶部