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