Etiqueta

17 julio 2013

Omnis Studio 6: Linked List, Rich Text Editor y Dynamic Tree Lists

Propiedad: Liked List

 
 
Permite actualizar de forma dinámica el contenido una lista asociada a un campo de edición estándar, a partir de los caracteres introducidos por el usuario en dicho campo de edición.

Componente: Rich Text Editor
 
 
 
Permite al usuario editar el contenido de un campo. Con la apariencia de un procesador de textos, se proporcionan al usuario herramientas avanzadas de edición. El texto será guardado en formato HTML.
 
Propiedad: Dynamic Tree Lists
 
 
Permite que el contenido de una lista de árbol (Tree List) pueda ser construido dinámicamente y en el mismo instante en que el usuario expande un nodo, en lugar de tener que construir el árbol entero antes de abrir el formulario. 
 
Puede ver una demostración del uso de éstos y otros componentes y propiedades en: http://tinyurl.com/60gallery
 
 

23 mayo 2013

Uso de listas y gráficos

Hoy quisiera compartir con vosotros la solución a un pequeño "problema", se me pedía obtener una representación gráfica, con los accesos que se producen cada hora a la biblioteca, la idea es obtener un gráfico como el siguiente:



La "dificultad" estriba en cómo conseguir cargar la lista asociada de modo que contenga una sola fila, donde cada columna, toma su nombre de la fecha y hora, junto con su correspondiente valor. Los datos están recogidos en una tabla de Oracle. El código que da origen al gráfico mostrado es el siguiente:

Do iListaHora.$add()
Do tSQL.$execdirect("select to_char(TH_FECHAHORA,'YYYY-MM-DD HH24'),count(*) from TORNO_HISTORICO group by to_char(TH_FECHAHORA,'YYYY-MM-DD HH24') order by  to_char(TH_FECHAHORA,'YYYY-MM-DD HH24') DESC") Returns #F

If flag true
      Do tSQL.$fetchinto(iFechaHora,iCuenta) Returns lEstado
      While lEstado=kFetchOk
            Do iListaHora.$cols.$add(iFechaHora,kNumber,k0dp)
            Calculate iListaHora(iFechaHora,1) as iCuenta
            Do tSQL.$fetchinto(iFechaHora,iCuenta) Returns lEstado
      End While
End If

La notación "iListaHora.$cols.$add(iFechaHora,kNumber,k0dp)" permite ir añadiendo una nueva columna numérica por cada hora localizada en la tabla y para añadir su valor se usa el comando "Calculate iListaHora(iFechaHora,1) as iCuenta", y eso es todo, sencillo y efectivo.