[Gvsig_usuarios] RV: NavTable Forms

Gonzalez, Juan Carlos juan_carlos.gonzalez en icc.cat
Jue Nov 3 14:43:52 CET 2011


Aparte de lo comentado en mi correo anterior, observo que cuando realizo un cambio, éste se guarda en la base de datos, pero el formulario parece tener un problema de sincronización y se muestra el valor anterior hasta que se vuelve a cargar. Ilustro a continuación la secuencia:

1.      Visualizo los datos actuales.

 

2.      Modifico el valor del campo comarca y le indico 33, para el último registro de la tabla, con lo cual se activa el botón de guardar datos.

 

3.      Pulso el botón de guardar datos y se acaba mostrando el valor que tenía este campo antes del cambio.

 

4.      Si pulso la flecha de volver a acceder al último registro (es como si forzara el refresco de la interfaz), se muestra el dato actualizado.

 

¿Qué puede estar pasando?

Gracias y saludos,

Juan Carlos

_____________________________________________
De: Gonzalez, Juan Carlos
Enviat: jueves, 03 de noviembre de 2011 14:02
Per a: 'Lista de Usuarios de gvSIG'
Tema: RE: [Gvsig_usuarios] NavTable Forms

Buenas tardes Andrés,

Efectivamente, modificando la versión de las librerías ha funcionado. Eso sí, el ejemplo que tenía operativo con la antigua (con la limitación que motivó mi consulta) ha dejado de funcionar y he tenido que realizar el siguiente cambio (en rojo):

 

>>> Clase es.udc.cartolab.gvsig.navtableforms.AbstractForm

 

protected Vector<Integer> getIndexesOfChangedValues() {

      Vector<Integer> changedValues = new Vector<Integer>();

      try {

          SelectableDataSource rs = layer.getRecordset();

          Map<String, String> widgetValues = formModel.getWidgetValues();

          Value value;

          String key;

          String valueInRecordSet;

          String valueInModel;

          for (int index = 0; index < rs.getFieldCount(); index++) {

            value = rs.getFieldValue(currentPosition, index);

            valueInRecordSet = value

                  .getStringValue(ValueWriter.internalValueWriter);

            key = rs.getFieldName(index);

            valueInModel = widgetValues.get(key.toLowerCase());

            if (valueInModel==null) valueInModel = widgetValues.get(key.toUpperCase());

            valueInRecordSet = valueInRecordSet.replaceAll("''", "").trim();

            if (valueInModel!=null) {

            valueInModel = valueInModel.trim();

            if (!valueInRecordSet.equals(valueInModel)) {

                changedValues.add(new Integer(index));

            }

            }

          }

      } catch (ReadDriverException e) {

          logger.error(e.getMessage(), e);

      }

      return changedValues;

    }

 

He tenido que añadir esa condición porque los campos de nuestro fichero SHAPE y de otras tablas geográficas que tenemos cargadas en Oracle Spatial están definidos en mayúsculas. ¿Contempla vuestra librería la opción de que los campos aparezcan definidos de esta forma o es obligatorio que estén en minúsculas?

Muchas gracias por tu ayuda.

Juan Carlos

 

-----Missatge original-----
De: gvsig_usuarios-bounces en listserv.gva.es <mailto:gvsig_usuarios-bounces en listserv.gva.es>  [mailto:gvsig_usuarios-bounces en listserv.gva.es <mailto:gvsig_usuarios-bounces en listserv.gva.es> ] En nom de Andrés Maneiro
Enviat: miércoles, 02 de noviembre de 2011 16:45
Per a: Lista de Usuarios de gvSIG
Tema: Re: [Gvsig_usuarios] NavTable Forms

On 02/11/11 16:15, Gonzalez, Juan Carlos wrote:

> Hola Andrés,

> 

> Muchas gracias por tu pronta respuesta. Acabo de seguir tu recomendación y ya me he dado de alta en la lista que indicabas. No obstante, respondo a tu correo a través de la lista de gvSIG, puesto que ya inicié la consulta a través de esta lista.

> 

Estupendo :)

> En referencia a la pregunta que me formulas, el botón de guardar no aparece activo (está deshabilitado) y sólo consigo que se active si selecciono un registro e indico la opción de copiar registro seleccionado. En cambio, lo que necesito es poder manipular los atributos de elementos existentes y guardar los cambios.

El botón de guardar está desactivado al inicio y sólo se activa en caso de que se edite alguno de los valores del formulario (es decir, cuando el valor que se ve en el formulario sea distinto al de la capa).

En alguna versión antigua teníamos un bug con este comportamiento y puede que te esté ocurriendo lo mismo. Échale un ojo a este reporte a ver si es el caso:

http://forge.osor.eu/tracker/index.php?func=detail&aid=15225&group_id=122&atid=462 <http://forge.osor.eu/tracker/index.php?func=detail&aid=15225&group_id=122&atid=462> 

Lo que te recomendaría es que descargues del repositorio la última versión de la librería y pruebes con ésa. En caso de que no pudieses actualizar la librería, bastaría con que aplicases el parche que se adjunta al reporte anterior.

Andrés

_______________________________________________

gvSIG_usuarios mailing list

gvSIG_usuarios en listserv.gva.es <mailto:gvSIG_usuarios en listserv.gva.es> 

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:

http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios <http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios> 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20111103/16d8ac3e/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/jpeg
Tamaño     : 8014 bytes
Descripción: image001.jpg
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20111103/16d8ac3e/attachment.jpeg 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/jpeg
Tamaño     : 7727 bytes
Descripción: image002.jpg
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20111103/16d8ac3e/attachment-0001.jpeg 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/jpeg
Tamaño     : 7804 bytes
Descripción: image003.jpg
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20111103/16d8ac3e/attachment-0002.jpeg 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/jpeg
Tamaño     : 7470 bytes
Descripción: image004.jpg
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20111103/16d8ac3e/attachment-0003.jpeg 


Más información sobre la lista de distribución gvSIG_usuarios