El 21 de diciembre de 2011 09:10, Ruth Sos Del Diego <
rsosdeldi...@googlemail.com> escribió:

> Hola de nuevo,
>
> Nacho, siguiendo tus indicaciones, esto es lo que he hecho:
>
> 1. Abro la edición de la tabla
> 2. De cada fila y de los campos area y población obtengo el registro
> 3. Hago la división de ambos
> 4.Añado campo nuevo con la divisiön
> 5. Cierro edición
>
>
> He comprobado los pasos 1,2, , 3 y 5 y me lo hace bien, el problema me da
> el paso 4 cuando rellena el campo, lo hace siempre con el mismo registro.
> Qué es lo que está mal?
>
>
>
> Adjunto el código:
>
>
>
> ToggleEditing te = *new* ToggleEditing();
>
> te.startEditing(lv);
>
> VectorialEditableAdapter vea = (VectorialEditableAdapter) lv.getSource();
>
>
>
> //-------------------
>
>
>
>   String po;
>
>   String area3;
>
>   *double* *ddensidad* = 0;
>
>   *double* dpo = 0;
>
>   *double* *darea3* = 0;
>
>


/////////////// AQUI DEBERÍAS CREAR EL NUEVO CAMPO



> *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);
>
>   }
>
>
>
> ddensidad=dpo/darea3;
>
>
//////////AQUI DEBERÍAS GUARDAR 'ddensidad' dentro del bucle, para que se
guarde en cada fila.



>
>
> }
>
>   }
>
>
>
>    }
>
>
>
>  *catch* (ReadDriverException e1) {
>
>   e1.printStackTrace();
>
> }
>
>
>
>
>
>
>
> //--------- NEW FIELD <----------ESTO ANTES
>
>
>
> FieldDescription  nF = *new* FieldDescription();
>
> nF.setDefaultValue(ValueFactory.*createValue*(ddensidad));
>
> nF.setFieldName("Densidad");
>
> nF.setFieldType(Types.*DOUBLE*);
>
> nF.setFieldLength(30);
>
>
>
>             *try* {
>
>                   vea.addField (nF);
>
>
>
>
>
>             } *catch* (ReadDriverException e) {
>
>                   // *TODO* Auto-generated catch block
>
>                   e.printStackTrace();
>
>             }
>
>
>
>
>
>             te.stopEditing(lv, *false*);
>
>
>
>                   }
>
>               }
>
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores@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
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores@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

Responder a