Hola a todos, tengo una duda, y es que no se como crear nuevos campos en la tabla de un shape que tengo en mi vista. Necesito crear estos campos nuevos, para luego rellenar cada registro a partir de una fórmula matemática.
Mirando en la lista he visto un email, que era como crear una nueva tabla, en mi caso la tabla la tengo pero no sé cómo crear nuevos campos y rellenar los registros.Adjunto el código. Podrían indicarme cómo podría hacerlo o dónde puedo encontrar algún tipo de implementación que lleve a cabo esto? Gracias de antemano, Ruth
package com.iver.cit.gvsig.mypluginbrazilselect; import com.iver.andami.plugins.Extension; import com.hardcode.driverManager.DriverLoadException; import com.hardcode.driverManager.DriverManager; import com.hardcode.gdbms.driver.dbf.DBFDriver; import com.hardcode.gdbms.engine.data.DataSource; import com.hardcode.gdbms.engine.data.DataSourceFactory; import com.hardcode.gdbms.engine.data.NoSuchTableException; import com.hardcode.gdbms.engine.data.driver.DriverException; import com.iver.andami.PluginServices; import com.iver.andami.ui.mdiManager.IWindow; import com.iver.cit.gvsig.ProjectExtension; import com.iver.cit.gvsig.fmap.edition.EditableAdapter; import com.iver.cit.gvsig.fmap.layers.LayerFactory; import com.iver.cit.gvsig.fmap.layers.SelectableDataSource; import com.iver.cit.gvsig.project.ProjectFactory; import com.iver.cit.gvsig.project.documents.table.ProjectTable; import com.iver.cit.gvsig.project.documents.view.gui.View; public class SelectThemenan extends Extension { public void execute(String actionCommand) { String[] Campos= {"Field1","Field2","Field3"}; int [] fieldTypes={12,12,12}; DBFDriver driver = new DBFDriver(); String name = "Tabla"; DataSourceFactory dsf =LayerFactory.getDataSourceFactory(); dsf.createFileDataSource(driver.getName(), name, "Archivo", Campos, fieldTypes); DataSource dataSource = null; dsf.createFileDataSource(driver.getName(), name, "MYTABLA.dbf", Campos, fieldTypes); try { //dataSource = LayerFactory.getDataSourceFactory().createRandomDataSource(name, DataSourceFactory.AUTOMATIC_OPENING); dataSource = dsf.createRandomDataSource(name, DataSourceFactory.AUTOMATIC_OPENING); dataSource.getDataSourceFactory(dsf); SelectableDataSource sds = new SelectableDataSource(dataSource); EditableAdapter auxea = new EditableAdapter(); auxea.setOriginalDataSource(sds); ProjectTable projectTables = ProjectFactory.createTable(name,auxea); ProjectExtension ext = (ProjectExtension)PluginServices.getExtension(ProjectExtension.class); ext.getProject().addDocument(projectTables); } catch (DriverLoadException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchTableException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DriverException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public boolean isEnabled() { IWindow ventanaActiva; // obtiene la ventana activa ventanaActiva = PluginServices.getMDIManager().getActiveWindow(); // estará habilitada sólo si la ventana actual es una // ventana de vista return ventanaActiva instanceof View; } public boolean isVisible() { return true; } public void initialize() { } }
_______________________________________________ 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