返回顶部
扶摇直上九万里,展翅高飞岂可待。

DBNaVigator组件的使用方法

DBNavigator组件用于在数据集进行记录导航,当用户单击DBNaVigator组件的某个按钮时,可实现记录
指针的前移、后移,插入‘删除、修改当前记录等操作,而无须编写任何程序代码。 

1.  DBNavigator组件按钮功能 
    First按钮  将指针移到数据表的第一条记录。 
    Previous按钮  将指针前移一条记录o 
    Next按钮  将指针后移一条记录。 
    Last按钮  将指针移到数据表的最后一条记录。 
    Insert按钮  在当前记录前插入一条新记录,并将数据集组件置于插人状态。 
    Delete按钮  删除当前记录。 
    Edit按钮  将数据集置于编辑状态。 
    Post按钮  提交对当前记录的修改。 
    Cancel 按钮  取消对当前记录的修改。 
    Refresh按钮  清除数据浏览组件的显示缓冲区,并用与其相连的数据集组件中的记录刷新显示缓冲区。

2.主要属性


(1)VisibleButtons属性
该属性用于隐藏或显示DBNavigator组件的按钮。单击该属性前的“+"号,出现许多子属性:

nbFirst、nbPrior、nbNext、nbLast、nbAdd、nb’Delete、mbEdit、nbPost、nbCancel、nbRefresh。选择

子属性为 True则相应的按钮就会显示出来,若选择子属性为False则相应的按钮就会隐藏。例如, 在查询系统中,

只需要4个按钮First、Prior、Next、Last,此时只需要将前4个子属性设置为:True, 其余属性设为False即可。


(2)ShowHint属性 
               ShowHint属性值为 true,则显示DBNavigator组件各按钮的动态提示信息;值为False,

则不显示DBNavigator组件各按钮的动态提示信息。


(3)Hints属性 
               Hints属性用于设置DBNavigator’组件各按钮的动态提示信息。单击’rString右边的省略按钮,

进入动态提示信息编辑框,在框内输人各按钮的动态提示信息,如输入:“第一条记录”、“前一个记录"、“后一个

记录”、“最后一个记录”等,按OK按钮后,将ShowHint属性设置为’lTrue,则程序执行后,当鼠标移动到第一个

按钮上时会动态提示“第一条记录"。

 
(4)ConfirmDelete   
当该属性值为True时,用DBNavigator的Delete按钮删除记录有确认提示,值为False时,删除记录无确认提示。

 

3.常用方法与事件


(1)OnClick事件
当用户单击DBNavigator组件的某个按钮时触发该事件,其参数Button用于表示用户按下的按钮,参数Button

取值为:nbFirst、nbPrior、nbNext、nbLast、nbInsert、nb’Delete、mbEdit、nbPostnbCancel、nbRefresh。


代码如下:  
begin  
    Butt:=Button;  
    case Butt of  
    nbFirst:Edit7.Text:=’First’;  
    nbNext:Edit7.Text:=’Next’;  
    nbPrior:Edit7.Text:=’Prior’;    
    nbLast:Edit7.Text:=’Last’;    
    nbDelete:Edit7.Text::’Delete’;  
    end;  
end;  
    程序执行后,单击DBNavigator的前几个按钮,Edit7组件会显示出按钮的类型。

 

 (2)BeforeAction事件
该事件发生在用户单击DBNavigator组件的某个按钮,但相应动作尚未执行前,Button参数表示用户按下的是哪个按钮。

例如:点击DBNavigator的Delete按钮时显示中文对话框


//在DBNavigator中BeforAction事件中写如下代码     
  procedure   TForm1.DBNavigator1BeforeAction(Sender:   TObject;     
      Button:   TNavigateBtn);     
  begin     
      if   Button=nbDelete   then     
      begin     
          if   MessageBox(Handle,'确实要删除么?','系统提示',MB_YESNO   or   MB_ICONQUESTION)=ID_NO   then     
              Abort     
          else   begin     
              Adoquery1.Delete;     
              Abort;     
          end;     
      end;     
  end;     

 

(3)DBNavigator控件的按钮显示成中文


unit   Unit1;   
  
interface   
  
uses   
   Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,   
   Dialogs,   Grids,   DBGrids,   ExtCtrls,   DBCtrls;   
  
type   
   TMyNavgator   =   class(TDBNavigator);   
   TForm1   =   class(TForm)   
       DBNavigator1:   TDBNavigator;   
       procedure   FormCreate(Sender:   TObject);   
   private   
       {   Private   declarations   }   
   public   
       {   Public   declarations   }   
   end;   
  
var   
   Form1:   TForm1;   
  
implementation   
  
{$R   *.dfm}   
  
procedure   TForm1.FormCreate(Sender:   TObject);   
begin   
   TMyNavgator(DBNavigator1).Buttons[nbFirst].Caption:= '第一条 ';   
//     TMyNavgator(DBNavigator1).Buttons[nbFirst].Glyph:=nil;   //不显示图标   
   TMyNavgator(DBNavigator1).Buttons[nbPrior].Caption:= '上一条 ';       
   TMyNavgator(DBNavigator1).Buttons[nbNext].Caption:= '下一条 ';       
   TMyNavgator(DBNavigator1).Buttons[nbLast].Caption:= '最后一条 ';   
   TMyNavgator(DBNavigator1).Buttons[nbInsert].Caption:= '添加 ';   
   TMyNavgator(DBNavigator1).Buttons[nbDelete].Caption:= '删除 ';       
   TMyNavgator(DBNavigator1).Buttons[nbEdit].Caption:= '修改 ';       
   TMyNavgator(DBNavigator1).Buttons[nbPost].Caption:= '提交 ';       
   TMyNavgator(DBNavigator1).Buttons[nbCancel].Caption:= '撤销 ';       
   TMyNavgator(DBNavigator1).Buttons[nbRefresh].Caption:= '刷新 ';   
end;   
  
end.   

 

posted on 2023-03-06 20:54  六十五度  阅读(369)  评论(0编辑  收藏  举报

导航