22 de febrero de 2011

Ejemplo de user FileUploadDownload widget con parametros en 6.2.5GA

Quiero compartir una muestra de FileUploadDownload puede utilizar con el parámetro de 6.2.5GA.

La idea es la siguiente: cargar en "resource/data" y también el nombre del archivo en la base de datos como asi el usuario actual cosa de que el proceso de inicio de sesión siguiente, el logotipo se muestre.

Para el proceso de upload y guardar el nombre en la base de datos:

1) Agregar widget fileUploadDownload
2) Ir al servicio de java para el widget fileUploadDownload
3) Crear un nuevo método llamado uploadFile2(File MultipartFile, String userId) y copia de la misma entidad para el método de uploadFile(File MultipartFile)
4) Añadir el siguiente código para grabar en la base de datos el nombre del archivo y el usuario actual:


//instance the db service
Sample_logo service = (Sample_logo) RuntimeAccess.getInstance().getService(Sample_logo.class);
try {
service.begin();
Session session = service.getDataServiceManager().getSession();

User u=new User();
u.setUserId(Integer.valueOf(userId));

UserImage ci=new UserImage();
ci.setUser(u);
ci.setFileName(filename);//filename for image
session.save(ci);
service.commit();
}
catch (Exception ex)
{
ex.printStackTrace();
}




4) En "Canvas" enlazar el usuario acutal (debe crear una serviceVariable para obtener userId actual) en input del "userId " en las propiedades del widget fileUploadDownload


Aqui el proyecto de ejemplo http://dev.wavemaker.com/forums/files/userlogo.zip

13 de septiembre de 2010

Nueva direccion de video en español de WaveMaker

hola para todos los hispanos les vuelvo a compartir estos videos.y algunos nuevos en

http://dev.wavemaker.com/wiki/bin/Blog/mavirroco

6 de septiembre de 2010

JasperReports 3.6 Development Cookbook: Excelente libro de JasperReports



Revisando un poco por la web encontré este libro:JasperReports 3.6 Development Cookbook de Bilal Siddiqui muy grafico que tiene buenos ejemplos para el desarrollo de reportes con jasperreports y lo mejor de todo esto que trae codigo fuente para descargar y probar los ejemplos.

Los topicos mas interesantes que me gustaron hablan de como aplicar: Enhancing the Look and Feel of your Report ya que me ayudo a cambiar mis reportes basicos. Tambien Working with a Variety of Data Sources ya que almenos usaba solamente la conexion con la base de datos y ahora vamos a poder usar mas alternativas de fuente de datos.Finalemente en el capitulo 7 un tema pendiente es el manejo de Designing a crosstab—a table with dynamic rows and columns me va a ayudar bastante.


Desde esta empresa lo podes comprar Packtpub y aqui esta el enlace del libro:
https://www.packtpub.com/jasperreports-3-5-2-development-cookbook/book

12 de agosto de 2010

Ejemplo Completo de JasperReports en Wavemaker

Hola amigos les quiero compartir un proyecto de ejemplo de :
Exportacion de archivos a diferentes formatos.
Uso de imagenes como parametro.
Impresion de reportes con window.print
Uso de iframe para vista previa

Creado con la version 3.7.4 de ireport.

Agradezco la colaboracion de Christian Scolari de Argentina por iniciar este proyecto
y dejarlo compartir con la comunidad.

Aqui esta el proyecto.
http://dev.wavemaker.com/screencasts/Reports.zip

Aqui esta un backup de la base de datos en mysql


CREATE DATABASE `banco`
CHARACTER SET `latin1`
COLLATE `latin1_swedish_ci`;

USE `banco`;

/* Tables */
CREATE TABLE `personas` (
`id_persona` int AUTO_INCREMENT NOT NULL,
`nombre` varchar(20),
`apellido` varchar(20),
`telefono` int,
PRIMARY KEY (`id_persona`)
) ENGINE = MyISAM;

/* Data for table "personas" */
INSERT INTO `personas` (`id_persona`, `nombre`, `apellido`, `telefono`) VALUES (1, 'Manuel', 'Rodriguez', 132);
INSERT INTO `personas` (`id_persona`, `nombre`, `apellido`, `telefono`) VALUES (3, 'Luis', 'Torrez', 222);
INSERT INTO `personas` (`id_persona`, `nombre`, `apellido`, `telefono`) VALUES (4, 'NUEVO', '123', 123);
COMMIT;

30 de julio de 2010

Validaciones via regExp


Valor que coincida con un patron:


usando el evento onChange en el editor emailEditor1 con nombre "emailEditor1Change"

y via js añadimos la propiedad "regExp" para emailEditor2 :
^(value_of_editor1)
para poder restringir que emailEditor2 sea igual a emailEditor1

later for set invalidMessage use the studio on properites of editor...

aqui esta el codigo

emailEditor1Change: function(inSender, inDisplayValue, inDataValue) {
try {
this.emailEditor2.editor.regExp = "^("+inDataValue+")";
this.emailEditor2.editor.createEditor();
} catch(e) {
console.error('ERROR IN emailEditor1Change: ' + e);
}
},

Funciones para convertir fechas con dojo

Aqui les comparto unas funciones para convertir fechas en formatos mas entendibles.

dojo.date.locale.format(new Date(), {
datePattern:"yyyy-MM-dd HH:mm:ss",
selector:"date"});

"2008-06-28T0000:04:00"

dojo.date.stamp.toISOString(new Date())
"2008-06-28T00:00:00-04:00"

dojo.date.stamp.toISOString(myDate, {selector:'date'})
"2008-06-28"

Fuente:
http://dojocampus.org/content/2008/07/03/dates-to-remember/

Mis cosas

Powered By Blogger