![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Como hacer un SelectAll en una celda de un DBGrid
Buenas.
Tengo un dbGrid asociado a una base de datos (que novedad ![]() Gracias de antemano.
__________________
Sitrico Última edición por sitrico fecha: 12-02-2004 a las 00:12:02. |
#2
|
||||
|
||||
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 |
#3
|
||||
|
||||
![]() 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; 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 |
#4
|
|||
|
|||
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; |
#5
|
||||
|
||||
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 |
#6
|
||||
|
||||
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 |
![]() |
|
|
![]() |
|