Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2006
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
Red face 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....
Responder Con Cita
  #2  
Antiguo 05-04-2006
Kosmo Kosmo is offline
Miembro
 
Registrado: abr 2006
Posts: 21
Poder: 0
Kosmo Va por buen camino
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

Última edición por Kosmo fecha: 05-04-2006 a las 15:04:02.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mover columnas de un DBGrid a otro YaninaGenia SQL 3 24-12-2005 16:12:25
dbgrid y direccion del cursor jgutti Varios 3 14-05-2005 22:28:43
Posicion cursor DBGrid en pantalla aram2r OOP 2 10-03-2005 16:11:09
Conocer posición del Cursor en un DBGrid gluglu Varios 1 14-02-2005 14:46:07
Mover columnas en un dbgrid jzginez Conexión con bases de datos 2 11-07-2004 15:47:25


La franja horaria es GMT +2. Ahora son las 11:51:08.


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
Copyright 1996-2007 Club Delphi