Ir al contenido


Foto

[RESUELTO] El Prisionero de Zenda. (Simular un click en una celda de DbGrid)


  • Por favor identifícate para responder
4 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 13 septiembre 2010 - 04:30

Pues sí, muchachos..., tengo un DbGrid cargado con 'n' cantidad de registros, y como todo buen dbgrid que se precie, el cursor está en la esquina superior izquierda.

Resulta que yo tengo una función que realiza una actualización de datos, refiriéndose a celdas específicas del dbgrid...



delphi
  1. procedure TFrmDtllAnmInv.dbgrdPrsInvSPCellClick(Column: TColumn);
  2. begin
  3.   FNgcDtllAnmInc.PscnrRgstr(dbgrdPrsInvSP.Columns.Items[7].Field.AsString,
  4.                             dbgrdPrsInvSP.Columns.Items[8].Field.AsString,
  5.                             dbgrdPrsInvSP.Columns.Items[9].Field.AsString);
  6. end;



... que como podemos observar, se activa al hacer click con el ratón en cualquier celda. Deseo saber cómo "simular" vía código que se ha pulsado click en una celda del dbgrid, para activar ésta funcionalidad al inicio de mi pantalla.

P. D.: Si consideran que mi petición es "rara", es por que llevo casi 48 horas programando y ya no doy pie con bola.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 13 septiembre 2010 - 04:42

Hola

Pues..... ese prisionero tiene la llave y no quiere salir :D :D :D



delphi
  1. procedure TForm1.FormShow(Sender: TObject);
  2. var
  3.   Columna: TColumn;
  4. begin
  5.   Columna:= TColumn.Create(nil);
  6.   DBGrid1.OnCellClick(Columna);
  7. end;



Salud OS

PD, no te olvides de liberar Columna
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 13 septiembre 2010 - 05:10

Hola

Pues..... ese prisionero tiene la llave y no quiere salir :D :D :D


Te digo, ya no sé ni cómo me llamo...  :D :D  Gracias.
  • 0

#4 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 13 septiembre 2010 - 11:54

Buenas,

Dado que no usas el parámetro Column, te bastaría con hacer la llamada y pasarle un nil como parámetrlo



delphi
  1.   DBGrid1.OnCellClick(nil);



Lo que sí haría es verificar que estuviera asignado el evento



delphi
  1.   if Assigned(DBGrid1.OnCellClick) then
  2.     DBGrid1.OnCellClick(nil);



De esta forma te olvidas de liberar nada ;)

Nos leemos
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 septiembre 2010 - 07:29

Buenas,

Dado que no usas el parámetro Column, te bastaría con hacer la llamada y pasarle un nil como parámetrlo



delphi
  1.   DBGrid1.OnCellClick(nil);



Lo que sí haría es verificar que estuviera asignado el evento



delphi
  1.   if Assigned(DBGrid1.OnCellClick) then
  2.     DBGrid1.OnCellClick(nil);



De esta forma te olvidas de liberar nada ;)

Nos leemos


Ah vaya, ya nos ahorramos utilización innecesaria de memoria (y)

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.