![]() |
Pasar datos entre pantallas
Hola.
Uno de los principales problemas que me encuentro es la presentacion en pantalla. Normalmente necesito mucha informacion en cada pantalla y me encuentro que es incomoda de manipular, demasiado movimiento en las barras de desplazamiento en Cmtable. El diseño de Cmtab, me es dificil de organizar dentro de cad tab, ya que no puedo alinear o mover los controles con soltura. He optado por abrir nuevos forms donde meto cada tabla ampliada y poder trabajar en ellas con mas "espacios" pero no se como cargar los datos de un form a otro sin tener que leer el fichero de nuevo. ¿Como lo organizais vosotros?. ¿Hay alguna funcion para pasar los datos que estan en CmTable1 del form1 a CmTable1 del form2? o poder ampliar la tabla en tiempo de ejecucion? Como organizais las pantallas ? El problema que tengo ahora es que tengo que leer los datos desde una hoja excell y aunque la carga de los datos es mas o menos rapida, a la hora de salvarlos es sumamente lenta, con lo cual deberia salvarlos una unica vez , cuando he acabado de trabajar. Saludos |
Para pasar los datos de un Form a otro, debes definir los datos es WORKING como EXTERNAL en ambos Forms, por ejemplo en el "Click" del boton del Form1 y en "Opened" del Form2. Asi cuando Form2 se abra, comparte datos de las estructuras EXTERNAL que hayas definido.
Claramente se puede ampliar la tabla en tiempo de ejecucion. SImplemente hay que ir añadiendo lineas a RowCount (creo que se llamaba asi la propiedad). Para ver todas las propiedades y todos los metodos que tiene cada control, puedes escribir el nombre del control en el editor de codigo (por ejemplo CmCombo1), seleccionar conel raton ese nombre de control y hacer click con el boton derecho. Ahi te sale toda la lista. |
Hola.
Cita:
Cita:
Saludos. |
No sé si es ésto lo que necesitas, pero si es así, es más fácil de lo que parece Breew:
Defines en cada una de las WORKING, la tabla en tamaño variable y EXTERNAL Código COBOL:
Pasas los datos a la tabla con un bucle, vamos a suponer que el objeto se llama CMTABLE. Código COBOL:
Y en el otro programa cargas la tabla Código COBOL:
Lo de ponerle 2000, es porque el objeto TABLE en PWC, no puede tener más de 2000 filas y que TABLA1 lleve un DEPENDING, es para hacer la tabla de tamaño dinámico y que ocupe en memoria lo que tenga que ocupar, ni más ni menos, además que de esa manera nunca te quedarás corto, (ni largo), en OCCURS. Yo lo veo bastante claro, pero si tienes algún problema para entenderlo, pregunta. Un saludo.- |
Hola Josber
Exacto, esto es lo que pensaba hacer, pero por si acaso lo he preguntado por si habia alguna opcion Magica tipo Move Cmtable1 of form1 to Cmtable of form2 ;) Saludos |
Hola.
Estoy haciendo pruebas con el control de la tabla pero no encuentro ningun metodo . ¿Como puedo indicarle a la tabla que quiero que visualize una linea en concreto ? Saludos |
Por visualizar una linea en concreto, ¿a qué te refieres?
Un saludo.- |
Hola.
En el form tengo definido una tabla de 1200 elementos, pero visualmente solo establezco 2 lineas, si quiero modificar la linea 50 , no encuentro otro remedio que tirar de raton sobre la barra de desplazamiento. La intencion es posicionarme automaticamente sobre esa linea. Saludos |
Creo que lo que quieres hacer es ir a cualquier linea/columna que tú quieras ...
No sé ahora que versión de PWC usas,(podrías indicarnosla), en la versión 7/9 es así: Código COBOL:
En PWC3, creo que era algo así: Código COBOL:
Recuerda que en las propiedades de la tabla, en la pestaña Columns, tienes que habilitar la opción Writable, para cada columna que quieras que se pueda editar, de lo contrario, te dará un error porque no puede "coger el foco" si está inhabilitado. Un saludo.- |
| La franja horaria es GMT +2. Ahora son las 06:34. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.