Ver Mensaje Individual
  #10  
Antiguo 08-11-2004
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Reputación: 21
RONPABLO Va por buen camino
Muchas gracias

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.
Responder Con Cita