[Gvsig_desarrolladores] Re: Crear Tabla

Vicente Caballero Navarro vicente.caballero en iver.es
Mar Jul 10 11:54:59 CEST 2007


Hola Jaime.
Para cambiar la estructura de la tabla tendrás que introducir en el 
writer la descripción de la tabla con los datos necesarios de las 
columnas que quieres introducir:
A partir de lo que ha comentado Jorge:
    A auxea le puedes ir introduciendo registros.
                ies.addRow(row,"description",EditionEvent.ALPHANUMERIC);
              
                  if (auxea instanceof IWriteable)
                 {
                     IWriteable w = (IWriteable) auxea;
                     IWriter writer = w.getWriter();
                     if (writer == null)
                     {
                         NotificationManager.addError("No existe driver 
de escritura para la tabla"
                                 + getModel().getName(), new 
EditionException());
                     }
                     else
                     {
                         tableDef=new TableDefinition();
                         FieldDescription[] fieldDescriptions=new 
FieldDescription[3];
                         fieldDescriptions[0].setFieldName("name1");
                         fieldDescriptions[0].setFieldType(type);
                         ...
                         tableDef.setFieldsDesc(fieldDescriptions);
                         writer.initialize(tableDef);

                         
auxea.stopEdition(writer,EditionEvent.ALPHANUMERIC);
                    }
                 }

Jorge Piera escribió:
> Hola Jaime.
>       Para ver una tabla en gvSIG, tienes que crear un objeto de tipo 
> ProjectTable, asociarle una fuente de datos (desde un dbf en tu caso) 
> y añadirlo al proyecto. Te adjunto un trozo que código que hace todo 
> esto:
>
>        DBFDriver driver = new DBFDriver();
>        String name = "my name";
>        
> LayerFactory.getDataSourceFactory().addFileDataSource(driver.getName(),
>                name,
>               "/home/revartj/Desktop/tabla.dbf");
>        DataSource dataSource = 
> LayerFactory.getDataSourceFactory().createRandomDataSource(name,
>                DataSourceFactory.AUTOMATIC_OPENING);
>
>        SelectableDataSource sds = new SelectableDataSource(dataSource);
>        EditableAdapter auxea = new EditableAdapter();
>        auxea.setOriginalDataSource(sds);
>
>        ProjectTable projectTable = ProjectFactory.createTable(name,
>                auxea);
>
>        ProjectExtension ext = (ProjectExtension) 
> PluginServices.getExtension(ProjectExtension.class);
>        ext.getProject().addDocument(projectTable);  
> Un saludo
>
> Jaime Traver wrote:
>> Hola a todos de nuevo, buscando he encontrado algo pero no se 
>> exactamente que estoy haciendo mal, porque no me escribe nada en el 
>> fichero indicado, mi intención es crear una tabla.dbf para guardar 
>> información obtenida de otro procesos. En teoría, este trozo de 
>> código, tendría que me crearme únicamente la tabla con los nombre de 
>> los campos.
>>
>>             DBFDriver Fic = new DBFDriver();
>>             String[] Campos= 
>> {"fieldA","fieldB","fieldC","fieldD","fieldE","fieldF"};
>>             int [] fieldTypes={12,12,12,12,12,12};
>>             File f= new 
>> File("/home/revartj/Desktop/tabla.dbf");                             
>> Fic.open(f);
>>             Fic.createSource("1", Campos, fieldTypes);
>>             Fic.close();
>>
>>
>> Un Saludo
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>   
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
>
Un saludo.

-- 
Vicente Caballero Navarro
Grupo desarrollo gvSIG.
IVER TI S.A.
C/ Lérida, 20
46005-Valencia
Tlf.+34963354983
www.iver.es
www.gvsig.com




Más información sobre la lista de distribución gvSIG_desarrolladores