PDA

Ver la Versión Completa : Cuadro negro editando en un DBGrid


Jack
20-08-2012, 14:47:06
Hola a todos, a ver si alguien me puede explicar porque:
Editando en un dbgrid una tabla de cualquier tipo por ejemplo de articulos, siendo el dataset que alimenta el grid un ibdataset, al modificar un dato, este aparece con la casilla normal de selección( azul ) si el dato existe y si esta vacío no sale nada alrededor del cursor.
Si cambio el dataset del datasource por un clientdataset con su correspondiente provider apuntando al ibdataset anterior, cuando edito el dbgrid aparece un cuadro negro feísimo y gordísimo a modo de cuadro de edición que no puedo de ninguna manera eliminar.
Esto es normal o solo me pasa a mi ?. El mismo proyecto con delphi 7, no producía este efecto. Ahora al migrar a DelphiXE2 me encuentro que todo el trabajo de migración no me sirve para nada.
Gracias de antemano y un saludo.

Neftali [Germán.Estévez]
20-08-2012, 16:16:26
Es raro lo que comentas, de todas formas no me acabo de imaginar el problema.

Como suelen decir en otro foro que visito:

http://neftali.clubdelphi.com/images/TemaSinImagenes.png

Es broma, pero sí que ayudaría.
Yo he usado versiones nuevas de Delphi y no me suena este efecto.
¿Estás utilizando algún componente especial? ¿ Algún código de pintado especial?

¿Puedes poner un proyecto de ejemplo donde te pase para que lo podamos probar y lo confirmemos?

Jack
20-08-2012, 17:22:34
Hola Neftalí eres muy amable al contestar tan pronto. Todos los componentes que yo trabajo están heredados y modificado su comportamiento. Ese no es el problema, porque pasa incluso con un dbgrid original sin heredar.

2367

2368

Te he puesto como he podido dos imágenes, espero que se vean. La cuestión es que dependiendo del tipo de dataset que lleve el datasource, el comportamiento del grid es diferente para un ibdataset que para un clientdataset.

Gracias de antemano.

Jack
20-08-2012, 17:24:17
Ahora que veo las imágenes, se ve perfecta la diferencia. Espero que puedas dar alguna pista.
Voy a intentar de todas las maneras indagar un poco en el código de la vcl.

Jack
21-08-2012, 19:00:27
Hola a todos, me auto contesto yo solo. Resulta que los clientdatasets tienen una propiedad ObjectView que no he entendido muy bien para que sirve pero que si esta a true produce el efecto de cuadro negro tan desagradable. Asunto solucionado. Un saludo a todos.

Casimiro Notevi
21-08-2012, 19:37:24
Hola a todos, me auto contesto yo solo. Resulta que los clientdatasets tienen una propiedad ObjectView que no he entendido muy bien para que sirve pero que si esta a true produce el efecto de cuadro negro tan desagradable. Asunto solucionado. Un saludo a todos.


Pues a mí me gusta ese marco alrededor de la celda que tiene el foco, hay gusto para todos, ya ves :)

Neftali [Germán.Estévez]
22-08-2012, 09:06:35
Gracias por el feedback.