Poner datos de consulta en un DbGrid pero en memoria para poder editar
Hola:
Bueno el tema es el siguiente: Necesito generar un informe de clientes donde consten determinadas novedades. Realizo la consulta SQL en firebird que me devuelve las novedades del cliente en particular (Fecha y detalle) pero necesito que estas permanezcan en memoria en un grid o similar donde se pueda seleccionar cual agregar y cual no de todas las listadas. La idea esta armada por medio de un asistente donde se inicia seleccionando el cliente, se hace clic en un boton siguiente y cargas las novedades que con anterioridad han sido generadas (aqui una vez listadas tengo que poder indicar cual agrego y cual no) ya que al hace clic otra vez en siguiente me guarda el informe con los datos del cliente mas las novedades que he decidido incorporar. El tema es que el usuario puede volver hacia atrás con el asistente por lo que no guardo nada hasta que no se finalice este desechando toda edicion que haya hecho hasta ahi.- La estructura de las tablas son: Novedades Id IdCte Fecha Detalle NovedInforme Id IdInforme Fecha detalle Informe Id IdCte Fecha Participacion Saldo .... En definitiva donde se cargan las novedades agregaria una columna adicional con el valor de si o no dependiendo si la necesito o no y una vez que hago clic en siguiente paso todo eso del "Grid en memoria" a la tabla correspondiente grabando previamente el informe.- Otra opcion seria utilizar una tabla de soporte solo para poner esas novedades, editarlas y una vez incorporadas a NovedInforme eliminarlas pero no se si es conveniente.- Tengo tambien instaladas los componentes JEDI y vi uno que es MemoryData pero no se bien como funciona. Acepto sugerencia y orientacion en el tema.- Gracias.- PD Espero que me haya expresado bien.- :o Saludos ;) |
Yo para casos similares utilizo el componente JvMemoryData de las JVCL (Jedi)... puedes revisar este hilo en donde explico como usarlo
Espero que te sirva. Salu2:D:p |
Hola Martin.
En este momento se me ocurren dos ideas, espero que alguna te sirva. La primera es usar un TCheckListBox para cargar los datos del TDBGrid y hacer la selección desde el primer componente: Luego hacer la operación que desees. A modo de ejemplo agrego los datos a un memo, pero lo mismo sería agregarlos a un DataSet.
La segunda es usar la propiedad dgMultiSelect del TDBGrid:
Operación (de nuevo al memo): Logicamente el componente JvMemoryData quizá haga más sencilla la tarea... Saludos. |
Cita:
Gracias por responder. Duda: Datos llamas al componente MemoryData? Para ecfisa Cita:
Gracias gente.- Saludos |
Resuelto!!!
Bueno, comento resultados...
En definitiva use el componente de JEDI (MemoryData) porque lo utilizo como una base de datos plana y me es mas facil hacer despues la asignacion de los datos correspondientes a las tablas finales caso contrario utilizando listas iba a tener que calcular a partir desde donde empezaba la fecha y desde donde empezaba el texto. Asi queda la asignacion:
Gracias y saludos. |
La franja horaria es GMT +2. Ahora son las 09:53:48. |
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