[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