Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2012
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Uso del Stringgrid

Hola gente, buenas a todos.
Estoy necesitando utilizar el componente Stringgrid para cierto propósito pro hay tareas que necesito hacer con este componente que no puedo estar haciendo y son:

- Al pasar el foco de una celda a otra, que la celda destino no quede seleccionada (pintada) sino que quede con el cursor parpadeando como para escribir.

- Poder añadir filas cuando salgo de una celda y dejar el foco de la misma manera que en el punto anterior en la primer columna.

- No permitir editar o escribir en una columna en particular.

Desde ya muy agradecido por su ayuda. Saludos!!!
Responder Con Cita
  #2  
Antiguo 05-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola rruffino, ¿has hecho una búsqueda por cada uno de los apartados?, me parece que son cosas que se han tratado anteriormente, a ver si lo encontramos...
Responder Con Cita
  #3  
Antiguo 05-10-2012
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Respuesta

Hola, gracias por la respuesta. He encontrado un par de cosas y medianamente estoy logrando lo que quiero, ahora el inconveniente que tengo es que cuando le cargo la primer fila de datos (en realidad es la segunda fila, la primera la uso fija para los titulos) lo que me pasa es que no puedo editar mas la grilla, es como si quedara deshabilitada, ya revise todo el código y no encuentro nada, probe luego de ingresar los datos hacer un refresh o un repaint pero no logro ni siquiera seleccionar la fila, siempre me queda seleccionada la de titulos.
Gracias nuevamente
Responder Con Cita
  #4  
Antiguo 05-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
ahora el inconveniente que tengo es que cuando le cargo la primer fila de datos (en realidad es la segunda fila, la primera la uso fija para los titulos) lo que me pasa es que no puedo editar mas la grilla, es como si quedara deshabilitada
Hola rruffino.

¿ Podrías poner el código mediante el cuál cargas la primera fila de datos ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 06-10-2012
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Respuesta

Hola ecfisa, gracias por tu respuesta.

El código en el evento form create es:
Código Delphi [-]
  StringGrid_imputacion.Cells[0,0]:='Nº Cuenta:';
  StringGrid_imputacion.Cells[1,0]:='Nombre de la Cuenta:';
  StringGrid_imputacion.Cells[2,0]:='Descripción de la Compra:';
  StringGrid_imputacion.Cells[3,0]:='Importe:';

Y el código en el evento onclick del boton que carga el dato:
Código Delphi [-]
              fila:=StringGrid_imputacion.RowCount;
              StringGrid_imputacion.Cells[0, fila]:=Edit_imp_cod.Text;
              StringGrid_imputacion.Cells[1, fila]:=Label_imp_nombre.Caption;
              StringGrid_imputacion.Cells[2, fila]:=Edit_imp_desc.Text;
              StringGrid_imputacion.Cells[3, fila]:=FormatCurr('#########0.00', sCurrencyEdit_imp_importe.Value);
              StringGrid_imputacion.RowCount:=fila +1;

Lo que he probado es programar el evento ondblclick para que cuando haga doble clik me tire un mensaje, antes de presionar el boton que carga el dato me muestra el mensaje, despues de apretar el boton no, es como si se deshabilitara la grilla.

Saludos, Román.-
Responder Con Cita
  #6  
Antiguo 06-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué problema tienes en ese código?
Responder Con Cita
  #7  
Antiguo 06-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola rrufino.

Proba agregando esta línea al evento OnCreate del form:
Código Delphi [-]
   StringGrid_imputacion.Options:= StringGrid_imputacion.Options + [goEditing];
Si era el problema y ya te permite escribir, esa opción también es configurable desde el Object Inspector.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 09-10-2012
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Respuesta

Hola, gracias por sus respuestas. El problema sigue estando, antes de ejecutar el codigo del boton, puedo editar la grilla, probe con el código que me pasó en la respuesta anterior, pero no me deja editarla, es mas no me deja ni siquiera seleccionar otra fila que no sea la primera, y por lo menos lo necesito para aunque sea seleccionar y eliminar una fila, con eso me alcanzaria, pero no hay forma. He probado de poner distintos stringgrids pero nada.
Desde ya nuevamente gracias por las respuestas.
Responder Con Cita
  #9  
Antiguo 09-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Hice una prueba con el código que nos mostraste y agregando la línea que te sugerí permite editar las celdas, antes y despues de ejecutar el código del boton. A sCurrencyEdit_imp_importe lo declaré como un edit haciendo luego la correspondiente conversión para la función FormatCurr.

Si no hay otro código involucrado, no encuentro motivo del comportamiento que mencionas. Te adjunto la prueba que realizé.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip rruffino.zip (6,4 KB, 68 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 09-10-2012
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Respuesta

Hola ecfisa, nuevamente gracias por tu respuesta. Viendo tu codigo y lo que tengo yo, caigo en la cuenta que el problema lo ocasiona cuando guardo los datos en la grilla y le vuelvo a dar el foco al editor para seguir cargando datos para pasarlo a la grilla. Si no le doy el foco al editor puedo editar la grilla normalmente. Ahora, como es posible? como podría hacer para seguir dandole el foco al editor y al hacer click en la grilla que se active para su manejo??
Saludos!!
Responder Con Cita
  #11  
Antiguo 09-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Cita:
el problema lo ocasiona cuando guardo los datos en la grilla y le vuelvo a dar el foco al editor para seguir cargando datos
Intento comprender los pasos que estás siguiendo, aunque no sé si lo estoy logrando. Por que si al finalizar el código, le pasas el foco a otro componente, igualmente el StringGrid queda activo para insertar datos luego de hacer click sobre él.

Por ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  fila: Integer;
begin
  fila:=StringGrid_imputacion.RowCount;
  StringGrid_imputacion.Cells[0, fila]:=Edit_imp_cod.Text;
  StringGrid_imputacion.Cells[1, fila]:=Label_imp_nombre.Caption;
  StringGrid_imputacion.Cells[2, fila]:=Edit_imp_desc.Text;
  StringGrid_imputacion.Cells[3, fila]:=FormatCurr('#########0.00', StrToFloat(sCurrencyEdit_imp_importe.Text));
  StringGrid_imputacion.RowCount:=fila + 1;
  Edit_imp_cod.SetFocus;  // <- Pasar el foco
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 09-10-2012
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Respuesta

Exacto ecfisa, asi le doy el foco al editor, y ahi es donde deja de responderme la grilla como si estuviera deshabilitada, que por mas que le haga click encima, no puedo editar ni seleccionar ninguna fila.
Saludos!
Responder Con Cita
  #13  
Antiguo 09-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Pero entonces debe haber algún otro código interfiriendo, por que a la prueba que te adjunté le agregué la linea que te menciono en el mensaje anterior y me permite editar el StringGrid sin problemas (previo click sobre él logicamente).

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
stringgrid en celda de otro stringgrid?? noodle_ OOP 3 17-06-2008 13:36:01
Stringgrid look OOP 11 05-10-2007 10:48:52
De StringGrid A StringGrid subzero Varios 7 04-10-2007 18:55:12
StringGrid pollo_c Gráficos 2 08-11-2006 03:30:24
StringGrid DCErick OOP 1 28-11-2004 04:34:05


La franja horaria es GMT +2. Ahora son las 15:39:09.


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