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

Responder a