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 18-07-2015
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Grilla mejor que dbGrid

Hola Foro:

Estoy haciendo una interface para asientos contabes y estoy utilizando un rxMemoryTable y un dbgrid para cargar las cuentas y los importes en Debe y Haber.

La consulta es si existe un DbGrid más lindo y que permita cambiar las posiciones de las filas, o sea que el usuario pueda subir y bajar las cuentas?

Estoy usando Delphi 7 y Firebird.

Desde ya muchas gracias por su atención.
Responder Con Cita
  #2  
Antiguo 18-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Las posiciones de las filas dependen de la consulta sql del dataset que hayas enlazado al dbgrid, mediante su datasource.
Lo que sí puedes hacer es agrupar, mover las columnas, etc. con algunos otros dbgrid.
Responder Con Cita
  #3  
Antiguo 18-07-2015
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Gracias Casimiro, ¿Sabés que otro DbGrid puedo usar que permita subir y bajar filas?
Responder Con Cita
  #4  
Antiguo 18-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Carmelo Cash Ver Mensaje
Gracias Casimiro, ¿Sabés que otro DbGrid puedo usar que permita subir y bajar filas?
goto #2
Responder Con Cita
  #5  
Antiguo 19-07-2015
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
No sé. No entiendo.
Responder Con Cita
  #6  
Antiguo 19-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Las posiciones de las filas dependen de la consulta sql del dataset que hayas enlazado al dbgrid, mediante su datasource.

Si quieres cambiar las posiciones, debes cambiar el orden en el sql.
O no usar un dbgrid, sino un stringgrid, o algo similar.
Responder Con Cita
  #7  
Antiguo 19-07-2015
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Ok. Gracias.
Responder Con Cita
  #8  
Antiguo 19-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, si no lo has entendido, no dudes en preguntar de nuevo, te lo aclaro con un ejemplo si es necesario.
Responder Con Cita
  #9  
Antiguo 19-07-2015
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Hola Carmelo..

No tengo presente ahora un compornnte Free que pueda hacer lo que dices en Delphi 7. Pero concuerdo con Casimiro en su aprecisión en la que dice que la posición d elas Filas depende mas de la Consulta (Query) que de la Grilla.

Nunca he manejado el RxMemoryTable, pero si funciona como creo, podrías intentar un "truco" para ordenar la grilla. Esto sería agregando a tu consulta un campo "Orden" que se numerara secuencialmente de manera que tu consulta se ordene por este campo (el componente MemoryTable debería tener una opcion para ordenar por este campo)

Cuando intentes hacer el cambio de orden en la grilla, podrias intercacambiar el valor de este campo con sus vecnos (arriba, abajo) y nuevamente generar el re-ordenamiento... (hay que hacer ucho trabajo manual, pero podria funcionarte mientras lo resuelves mejor)

Saludo,
Responder Con Cita
  #10  
Antiguo 19-07-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
EDITO:
Bueno, entendi cualquier cosa mejor borro lo que puse que nada que ver

En fin, creo que lo mejor es usar un TClientDataSet. En tu ClientDataSet deberias tener un campo numerico de orden como menciona gatosoft, y luego lo que haces es permitirle aumentar o decrementar ese numero. Luego reordenas el dataset. Es decir, te tendria que quedar algo como esto

Código Delphi [-]
procedure TForm1.BtnMoveUpClick(Sender: TObject);
begin
  if cds.First then
    Exit;

  try
    cds.Edit;
    cds.FieldByName('Order').AsInteger := cds.FieldByName('Order').AsInteger - 1;
  finally
    cds.Post;
    // ordenar dataset
  end;
end;

Otra forma de verlo es utilizar cursores. Hay un pdf excelente de Cary Jensen (si mal no recuerdo, y espero haber escrito bien su nombre) en el FTP del club que no tiene desperdicio

Última edición por AgustinOrtu fecha: 19-07-2015 a las 07:27:06.
Responder Con Cita
  #11  
Antiguo 19-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Desde luego que hay formas de hacer lo que quiere, pero no creo que encuentro un componente dbgrid que lo haga. Tendrá que ser manualmente.
Responder Con Cita
  #12  
Antiguo 19-07-2015
avmm2004 avmm2004 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Santa cruz de Tenerife, Islas Canarias
Posts: 500
Poder: 18
avmm2004 Va por buen camino
Hola a todos, yo creo que de lo que se trata es que sea el usuario final al interactuar con el dbgrid el que pueda cambiar las columnas, agruparlas, etc.... para ello uno de los que lo hacen muy bien (entre otro montón) son los componentes de http://www.devexpress.com.
Responder Con Cita
  #13  
Antiguo 19-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por avmm2004 Ver Mensaje
Hola a todos, yo creo que de lo que se trata es que sea el usuario final al interactuar con el dbgrid el que pueda cambiar las columnas, agruparlas, etc.... para ello uno de los que lo hacen muy bien (entre otro montón) son los componentes de http://www.devexpress.com.
Pregunta por mover las filas arriba/abajo.
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
Cabecera doble en grilla "DBGrid" StartKill Varios 3 11-11-2008 14:31:44
como ver un tipo de datos de una grilla en otra grilla en el mismo form? calistian Varios 5 01-10-2008 19:29:04
Cual es el mejor acceso a FireBird/InterBase?; cuanto mejor?? Combat-F2D Firebird e Interbase 9 22-06-2006 18:32:36
Mejor apariencia para un DBGRID jorge_mosquera Conexión con bases de datos 12 24-11-2005 17:44:24
¿Mejor heredar de una Lista o mejor introducir la Lista en un campo? Jome OOP 8 24-11-2005 17:11:16


La franja horaria es GMT +2. Ahora son las 17:35: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