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).

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).