Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2004
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 22
sitrico Va por buen camino
Como hacer un SelectAll en una celda de un DBGrid

Buenas.

Tengo un dbGrid asociado a una base de datos (que novedad ) que asigna valores por defecto a los nuevos registros (en el evento DBGridColEnter). Lo que necesito saber es como hacer un SelectAll en la celda activa para permitir al usuario cambiar el valor por defecto sin tener que seleccionarlo primero.

Gracias de antemano.
__________________
Sitrico

Última edición por sitrico fecha: 12-02-2004 a las 00:12:02.
Responder Con Cita
  #2  
Antiguo 12-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
No puedo responderte la pregunta original... pero te recomiendo que uses el evento OnNewRecord para asignar valores por defecto en los campos de un dataset. Tiene varias ventajas, entre las que está que el componente no tomará estos datos como modificados... con la consiguiente ventaja para el usuario, al evitarle preguntas como:

Este registro ha sido modificado... seguro que desea cancelar su inserción?

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 17-02-2004
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 22
sitrico Va por buen camino
Question

Ya intenté usar el evento OnNewRecord pero tengo el problema que el valor sólo lo puedo calcular el valor usando algunos datos del nuevo registro y en el OnNewrecord todavía no están disponibles.

En cuanto al SelectAll encontré (revizando el código de la unidad DBGrid) que existe una clase llamada TInplaceEdit y que a su vez define varias propiedades y métodos.
Código:
  TInplaceEdit = class(TCustomMaskEdit)

  function CreateEditor: TInplaceEdit; virtual;

  property InplaceEditor: TInplaceEdit read FInplaceEdit;
(También hay herederos especializados TInplaceEditorList, TDBGridInplaceEditor)

Pero estas propiedades son "Protected"

El problema lo solucionaría su pudiera de alguna manera aceder al metodo
TCustomDBGrid.InplaceEditor.SelectAll (Que si existe). En alguna parte leí que existe una manera para accesar los métodos y propiedades protegidas de un componente pero no recuerdo donde.

Nota: Preferiría usar el objeto DBGrid Original de Delphi 6.

Gracias
__________________
Sitrico
Responder Con Cita
  #4  
Antiguo 17-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Tendrías que hacer tu propio TDbGrid heredando de TDbGrid por ejemplo

Código:
  TMiGrid = class(TDBGrid)
  private
    FInplaceEdit: TInplaceEdit;
  public
    property InplaceEditor: TInplaceEdit read FInplaceEdit;
  end;
Responder Con Cita
  #5  
Antiguo 18-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Si el valor de un campo depende de otros... también podes calcularlo en el OnChange de estos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 18-02-2004
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 22
sitrico Va por buen camino
Gracias a todos, al final me tuve que conformar con usar el evento OnNewRecord y calcular todos los valores con los valores por defecto, así cuando el usuario entra a la celda correspondiente, automáticamente se efectua el SelectAll.
__________________
Sitrico
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


La franja horaria es GMT +2. Ahora son las 12:23:23.


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