[Gvsig_desarrolladores] Fwd: AYUDA POR FAVOR!!
Nacho Uve
nachouve en gmail.com
Jue Dic 22 12:24:03 CET 2011
Hola Ruth,
No transformes en String ya que has definido el campo "Result" como un
Double:
nF6.setFieldType(Types.DOUBLE);
nF6.setFieldLength(30);
Por cierto, creo que es necesario poner cuantos decimales en el tipo
Double.... algo así como nF6.setDecimalLenght() o algo así???
Un saludo,
Nacho V
El 22 de diciembre de 2011 12:18, Ruth Sos Del Diego <
rsosdeldiego en googlemail.com> escribió:
>
>
>
> Hola de nuevo,
>
> Nacho, siguiendo tus indicaciones, he mirado la clase AlphanumericNavtable
> y he hecho los siguientes cambios:
>
>
>
>
> ToggleEditing te = *new* ToggleEditing();
>
> te.startEditing(lv);
>
> VectorialEditableAdapter vea = (VectorialEditableAdapter) lv.getSource();
>
>
> AlphanumericNavTable at= new AlphanumericNavTable(vea);
>
>
>
> //-------------------
>
>
>
> String po;
>
> String area3;
>
> *double* *ddensidad* = 0;
>
> *double* dpo = 0;
>
> *double* *darea3* = 0;
>
>
>
> //--------Aquí añado el campo le pongo un valor cualquiera
>
>
> FieldDescription nF6 = new FieldDescription();
> nF6.setDefaultValue(ValueFactory.createValue(2));
> nF6.setFieldName("Result");
> nF6.setFieldType(Types.DOUBLE);
> nF6.setFieldLength(30);
>
> try {
> vea.addField (nF6);
> } catch (ReadDriverException e2) {
>
> // TODO Auto-generated catch block
> e2.printStackTrace();
> }
>
>
>
>
>
> *try* {
>
>
>
> SelectableDataSource sds=lv.getRecordset();
>
>
>
>
>
> //*leemos* *las* *filas*
>
>
>
> *for* (*int* j=0; j<sds.getRowCount(); j++) {
>
>
>
> //*leemos* *los* *campos*
>
>
>
>
>
> *for* (*int* k=0; k<sds.getFieldCount();k++){
>
> String idField =sds.getFieldName(k);
>
> *if* (idField.equals("Poblacion")){
>
>
>
> po=sds.getFieldValue(j,k).toString();
>
> dpo=Double.*parseDouble*(po);
>
>
>
>
>
> }
>
>
>
> *if* (idField.equals("area")){
>
>
>
> area3=sds.getFieldValue(j,k).toString();
>
> darea3=Double.*parseDouble*(area3);
>
> }
>
>
>
> //-----Cambio registros
>
>
> if (idField.equals("Result")){
>
>
> //----Hago la operación
> ddensidad=dpo/darea3;
>
>
> //----Lo convierto a String
>
>
> String dden= String.valueOf(ddensidad);
>
> Object value=sds.getFieldValue(j,k).toString();
>
>
> //---- Cojo el valor de la tabla y le cambio el registro
>
> value.saveRecord(dden);
>
>
>
> Aquí me da error
>
>
>
>
>
>
> }
>
> }
>
>
>
> }
>
>
>
> *catch* (ReadDriverException e1) {
>
> e1.printStackTrace();
>
> }
>
>
>
> te.stopEditing(lv, false);
>
>
>
> }
> }
>
>
> Sólo me falta ese paso y no sé cómo solventarlo!! Cualquier idea es
> bienvenida, lo tengo que terminar urgentemente antes de mañana y no sé como
> solucionarlo. Gracias
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores 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_desarrolladores
>
>
--
Juan Ignacio Varela García
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20111222/a35d7c45/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores