[Gvsig_usuarios] RV: NavTable Forms

Andrés Maneiro amaneiro en icarto.es
Jue Nov 3 15:59:59 CET 2011


Juan Carlos, ¿te parece si movemos los siguientes hilos a la lista de correo de 
navtable-devel?

Te respondo aquí a éste: como te comentaba antes, me parece que no ha ido bien 
la actualización. Prueba a actualizar y nos comentas de nuevo.

Andrés

On 03/11/11 14:43, Gonzalez, Juan Carlos wrote:
> 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.
>
> Picture (Device Independent Bitmap)
>
> 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.
>
> Picture (Device Independent Bitmap)
>
> 3. Pulso el botón de guardar datos y se acaba mostrando el valor que tenía este
> campo antes del cambio.
>
> Picture (Device Independent Bitmap)
>
> 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.
>
> Picture (Device Independent Bitmap)
>
> ¿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]
> 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
>
>
>
> _______________________________________________
> gvSIG_usuarios mailing list
> 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


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