[Gvsig_desarrolladores] Añadir un registro a una tabla ya creada

Jaime Traver revartj en gmail.com
Sab Nov 3 22:46:07 CET 2007


Hola a tod en s, tengo el siguiente problemilla:

Después de realizar una serie de operaciones X en cada una de las cuales voy
generando registro que inserto en una tabla y que finalmente añado al
proyecto, en el cual me aparece una tabla con todo lo que he añadido, el
problema viene cuando tengo que añadir otro registro una vez la tabla ya
esta en el proyecto de tablas, ¿que ocurre?, pues bien el registro lo añado
como siempre, pero luego no sé que es lo que tengo que hacer para que este
cambio quede reflejado en la tabla que se encuentra cargada en el proyecto,
sin tener que añadir otra entrada de esta tabla para poder ver reflejado los
cambios.
Os explico un poco el procedimiento que sigo para crear y añadir la tabla, y
me gustaría que me comentasen que es lo que tendria que hacer para que una
vez hecha la tabla, los pasos que tendria que seguir para que se
actualizaran los datos, sin utilizar la funcion AniadirTablaPoject() que
explico a continuacion:



//FUNCIONES
public void AniadirRow(Value[] valor){
        DefaultRow row = new DefaultRow(valor);
            auxea.addRow(row, "description", EditionEvent.ALPHANUMERIC);
   }
public void AniadirTablaProject(){
            projectTables = ProjectFactory.createTable(
OperationTable.getNombreTablaEnProyecto(),OperationTable.getDatosTabla());
            ProjectExtension ext =
(ProjectExtension)PluginServices.getExtension(ProjectExtension.class);
            ext.getProject().addDocument(projectTables);
            EscribirTabla(OperationTable);
}
public void EscribirTabla(OperacionesTablas OperationTable) throws
EditionException,DriverLoadException, DriverException{
                IEditableSource ies = projectTables.getModelo();
                ies.startEdition(EditionEvent.START_EDITION);
                IWriteable w = (IWriteable) ies;
                IWriter writer = w.getWriter();
                ITableDefinition tableDef = ies.getTableDefinition();
                writer.initialize(tableDef);
                ies.stopEdition(writer,EditionEvent.ALPHANUMERIC
);//ALPHANUMERIC




// PROGRAMA PRINCIPAL
//las variables necesarias supongamos que estan dentro de la clase. Las
omito, lo que quiero decir que cualquier referencia que haga a ellas es
correcta y no me da ningun problema

valor=Generar_Datos();
while (valor!=null){
        AniadirRow(valor);                       // AÑADE EL REGISTRO
(Ejemplo de registro: NOMBRE,APELLIDOS,POBLACION,CP)
        valor=Generar_Datos();
}

AñadirTablaAlProjecto();

//Aqui necesitaria por ejemplo;
AniadirRow(OTRO_VALOR);
ActualizarTablaProject();



NOTA: En estas lineas de código os he plasmado la idea de lo que estoy
haciendo, no es así exactamente pero para explicar lo que intento hacer,
creo que es suficiente, no es necesario que os preocupeis de la sintaxis que
utilizo ya que puede haber alguna errata.


Un Saludo
Jaime
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20071103/7adc5139/attachment-0001.htm


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