wpe33.gif (963 bytes) jsDBNavPanel

This is an enhanced DBNavigator with labels and record counter. Just plug it in anywhere you would use a standard DBNavigator. The only caveat is that it only works with datasets which support a record counter (such as Paradox and DBase databases).

wpe4C.gif (5258 bytes)

type
  TjsDBNavPanel = class(TCustomPanel)
private
  FDataLink: TFieldDataLink;
  FLabelCounter : TLabel;
  FLabelBtnCaptions : TLabel;
  FDBNavigator : TDBNavigator;
  FNavBtnsOnly : Boolean;
  FRecordName : String;
  function GetDataSource: TDataSource;
  procedure SetDataSource(Value: TDataSource);
  function GetButtonsCaption : String;
  procedure SetButtonsCaption(Value : String);
  function GetNavBtnsOnly : Boolean;
  procedure SetNavBtnsOnly(Value : Boolean);
  function GetRecordName : String;
  procedure SetRecordName(Value : String);
protected
  procedure Loaded; override;
  procedure DataChange(Sender: TObject); virtual;
  procedure UpdateData(Sender: TObject); virtual;
  procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  procedure UpdateCounter(Sender : TObject); virtual;
public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
published
  property NavBtnsOnly : Boolean read GetNavBtnsOnly write SetNavBtnsOnly;
  property ButtonsCaption : String read GetButtonsCaption write SetButtonsCaption;
  property DataSource: TDataSource read GetDataSource write SetDataSource;
  property RecordName : String read GetRecordName write SetRecordName;
end;

Current version of this component uses the TDataSet.RecordNo property which is not implemented under Oracle (and some other SQL databases). The component works fine under record based databases (like Paradox).