FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Quitar foco de StringGrid de celda
Buenas Noches,
Tengo un StringGrid en un formulario y siempre se queda el foco en la primera celda, es decir la primera celda de la columna editable que no es la de títulos se dibuja el seleccionado de esta, y cuando limpio este me queda el valor que se haya asignado a esa celda, como hago para que me limpie completamente el stringgrid y como quito este seleccionado de la celda, la tengo de solo lectura asi que no es necesario que se dibuje. Gracias de antemano, Marco |
#2
|
||||
|
||||
Te valdria agregar goRowSelect a la propiedad Options.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
Hola,
Creo que he encontrado el fallo y creo que debe ser un bug del componente TStringGrid: Cuando procedia a blanquear el componente, lo hacia de esta forma: Cita:
Cita:
Y esta es la forma como funciona sin necesidad de activar la opción que mencionaban antes. Hago la aclaración que con este método no elimina los nombres o textos de los títulos. Cita:
Gracias. |
#4
|
||||
|
||||
Si creo que estás haciendo mal el recorrido, pues al tener un arreglo basado en cero, deberias hacer:
Código:
for Fil := 0 to sgVentas.RowCount - 1 do for Col := 1 to sgVentas.ColCount - 1 do sgVentas.Cells[Col, Fil] := ''; Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
hola jachguate,
Disculpa, creo que me había comido algo al pegar el código en la lista, pero igualmente el resultado es el mismo, con respecto a las filas y columnas, en un principio tenía el -1 en ambos for, pero pense que no lo estaba haciendo correctamente y elimine el -1 para ver si hacia la limpieza bien, pero solo funciono con cambiar de posición las variables Fil y Col. Saludos |
#6
|
|||
|
|||
Hola Amigos,
Tengo casi el mismo problema, solo necesito quitar la seleccion de la primera celda, mi grilla tambien es de solo lectura. Mire la opcion goRowSelect y por defecto esta a false asi que la cambie a true pero nada paso. Alguien sabe como resolver este problema? Muchas gracias. |
#7
|
|||
|
|||
La solución que encontré a este problema fue la siguiente:
1) Declarar en la sección de variables de la unidad: Código:
NoSelection: TGridRect = (Left:-1; Top:-1; Right:-1; Bottom:-1); Código:
DBGrid1.Selection := NoSelection |
#8
|
||||
|
||||
¿Y por qué ha de considerarse un bug?
En el código original estás usando los índices alrevés tú, no delphi !! // Saludos |
#9
|
|||
|
|||
Gracias
Cita:
Este código me sirvió, tanto pelear con esto y no se me pudo ocurrir. Gracias. |
|
|
|