[Gvsig_desarrolladores] AYUDA POR FAVOR!!
Ruth Sos Del Diego
rsosdeldiego en googlemail.com
Mie Dic 21 09:10:10 CET 2011
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;
*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;
}
}
}
*catch* (ReadDriverException e1) {
e1.printStackTrace();
}
//--------- NEW FIELD
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*);
}
}
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20111221/7a8e7803/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores