Bueno... que alegria ya me dio
aplique la foma de hacer el cast que me indico Roman aunque no puede asignar la columna asi que busque una forma de hacer esto y pues lo publico a continucacion...
Espero que sea de utilidad para otras personas... Y nuevamente gracias a todos por las respuestas que me dieron
Código:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, IBDatabase, IBCustomDataSet,
IBTable;
type
TMiDBGrid = class(TDBGrid) // Defino la clase que usare
Public
{ Las propiedades que necesito } property topRow;
property Row;
end;
type
TForm1 = class(TForm)
IBTable1: TIBTable;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
MiDBGrid : TMiDBGrid;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i, NumeroFilas, Fila : Integer;
encontrar : string;
begin
DBGrid1.DataSource.DataSet.DisableControls;
NumeroFilas:= TMiDBGrid(DBGrid1).RowCount; // Aquí realizo el cast para
// encontrar el numero de filas
Fila:= TMiDBGrid(DBGrid1).Row; // Aquí realizo el cast
// encontrar la fila actual
for i:=1 to Fila -1 do
DBGrid1.DataSource.DataSet.Prior;
encontrar:= TMiDBGrid(DBGrid1).Fields[0].Text;
IBTable1.Active:= False;
IBTable1.Active:= True;
DBGrid1.DataSource.DataSet.Locate('IDANAMNESIS', encontrar, [loPartialKey]);
for i:=1 to NumeroFilas -2 do
DBGrid1.DataSource.DataSet.Next;
for i:=1 to NumeroFilas - Fila - 1 do
DBGrid1.DataSource.DataSet.Prior;
DBGrid1.DataSource.DataSet.EnableControls;
end;
end.