Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Mover el cursor de DBGrid.... (https://www.clubdelphi.com/foros/showthread.php?t=30360)

armadillo 04-04-2006 20:16:46

Mover el cursor de DBGrid....
 
Muy buenas listeros,
A ver si me aclaro :(, lo que me gustaria es saber si se puede mover el
puntero, cursor o foco de celda de un DBgrid, me refiero a la celda
seleccionada en un dbgrid. Cuando digo mover me refiero a hacerlo
programaticamente, o sea quisiera que despues de una busqueda o lo que
sea poner el "cursor" del DBgrid en una celda determinada, columna y
fila determinada, las filas esta claro, posicionandome en el registro
adecuado de la tabla, pero la columna como?

Desde ya muchas gracias....:cool:

Kosmo 05-04-2006 13:42:48

SetFocus
 
A ver si esto te sirve.

Teniendo ya en cuenta que posicionas el cursor en la fila que quieres marcar, habría que hacer que dentro de esa fila se posicione en la columna deseada, lo peudes hacer de dos maneras, sabiendo el nombre de la columna o sabiendo el índice de la misma.

Te pongo mas o menos un ejemplo de cada a ver si te sirve

Sabiendo el número de la columna:

Código Delphi [-]

   procedure FocusCell(
     const DBGrid : TDBGrid;
     const column : integer) ; overload;
   begin
     with TStringGrid(DBGrid) do
     begin
       Col := column;
       SetFocus;
     end;
  end;

Y sabiendo el nombre de la columna:

Código Delphi [-]

   procedure FocusCell(
     const DBGrid : TDBGrid;
     const fieldName : string) ; overload;
   var
     column : integer;
     idx : integer;
   begin
     column := 0;
     for i:= 0 to -1 + DBGrid.Columns.Count do
     begin
       if DBGrid.Columns[idx].FieldName = fieldName then
       begin
         column := 1 + idx;
         Break;
       end;
     end;
     if column > 0 then FocusCell(DBGrid,column) ;
  end;

Espero que te solucione el problema, un saludo


La franja horaria es GMT +2. Ahora son las 03:14:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi