关于怎样获得DBNavigator1的动作(100分)

  • 主题发起人 主题发起人 chenshan
  • 开始时间 开始时间
C

chenshan

Unregistered / Unconfirmed
GUEST, unregistred user!
关于怎样获得DBNavigator1的动作,例怎样才知道它做的是移到下一条记录!
chenshantai@163.net
 
这是 delphi 帮助中 DBNatigator OnClick 事件的定义,
type ENavClick = procedure (Sender: TObject; Button: TNavigateBtn) of object;
property OnClick: ENavClick;

这是 Button 参数的定义:
type TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);
Description
Each TNavigateBtn value identifies a different button that can appear on a TDBNavigator object. The following table lists all the button types, their corresponding TNavigateBtn values, and the action associated with each button:

Button Value Action

First nbFirst Go to the first record
Prior nbPrior Go to the previous record
Next nbNext Go to the next record
Last nbLast Go to the last record
Insert nbInsert Insert a blank record
Delete nbDelete Delete the current record
Edit nbEdit Permit users to edit the current record
Post nbPost Post the current record
Cancel nbCancel Cancel the current edit
Refresh nbRefresh Refresh the data in the dataset

所以,答案是在 onclick 事件中判断 button 是哪一个
 
我试过但不行!
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
if button='nbFirst' then
showmessage('sdfsdf');
end;
end.
 
你那样做编译能通过吗?
if button= nbFirst then
showmessage('sdfsdf');
end;

再试试。

 
我自己创建一个Button,并获得对应的动作,方法同上
 
chenshan:是你的句子写错了,nbFirst不是String,而是枚举型,DBNavigator中
定义了几个按钮对应的值,你应该用940801那样写,肯定没有问题.
你提的这个问题好像我们一般用于判断是否是删除按钮,把原来的英文替换成中文
 
多人接受答案了。
 
后退
顶部