[Gvsig_desarrolladores] Re: Crear Tabla

Jaime Traver revartj en gmail.com
Mar Jul 17 01:29:58 CEST 2007


Hola a todos, el metodo refresh al cual me referia yo, era este:


    public void refresh() {
        int row=table.getSelectedRow();
        int column=table.getSelectedColumn();
        if (row!=-1 && column!=-1 && table.getEditorComponent()!=null){
            Value[] values=getValueRow(row);
            JTextField jtf=(JTextField)table.getEditorComponent();
            jtf.setText(values[column].toString());
        }
        updating = true;
        ((DataSourceDataModel)
getTable().getModel()).fireTableDataChanged();

        updating = false;
        updateSelection();
        PluginServices.getMainFrame().enableControls();

    }

No se si es el mismo que tu me indicabas, es que estoy teniendo muchos
problemas para poder adaptarlo. Supongo que este me todo actualizara las
tablas disponibles que hay en ProjectTables, por que al principio lo estaba
omitiendo y al intentar coger las tablas que había creado, me saltaba una
excepcion, indicando nullpointerexception, por lo que supongo que al no
tener actualizadas las tablas en el proyecto, otros modulos de la misma
extensión no pueden encontrar las tablas hasta que no se haga un refresh,
corregirme si me equivoco. También querria que me indicasen, si el código
que les expongo se trata del refresh que me actualiza el projectTables.

Un Saludo

2007/7/16, Vicente Caballero Navarro <vicente.caballero en iver.es>:
>
>  Hola Jaime.
> Si, supongo que con *refresh()* te funcionará, se me ha colado *
> refreshControls()* porque he cogido código de la clase Table de gvSIG.
>
> Jaime Traver escribió:
>
> Hola Vicente, el código de la función *refreshControls(), *no me la has
> ajuntado, o es la misma que refresh.
>
> Un Saludo, Gracias por todo.
>
> 2007/7/16, Vicente Caballero Navarro <vicente.caballero en iver.es>:
> >
> > Hola Jaime.
> > Te hace falta un trozo de código que envié a la lista unos correos
> > atrás:
> >
> > *public void save(){
> >         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"
> >                                  + auxea.getName(), new
> > EditionException());
> >                      }  else {
> >                          ITableDefinition tableDef =
> > auxea.getTableDefinition();
> >                         writer.initialize(tableDef);
> >                          auxea.stopEdition(writer,
> > EditionEvent.ALPHANUMERIC);
> >                          auxea.getSelection().clear();
> >                          refreshControls();
> >                      }
> >        }
> > }*
> >
> > Jaime Traver escribió:
> >
> > Hola de nuevo, ya he conseguido añadir los registros, el problema que
> > tengo ahora es que los registros no son guardados en el fichero que creo,
> > les muestro la clase que he creado para crear la tabla, para ver si me
> > podeis indicar que es lo que falta para que esos registros sean guardados en
> > el fichero.
> >
> > public class CrearTablas {
> >     DBFDriver driver = new DBFDriver();
> >
> >     DataSourceFactory dsf;
> >     DataSource dataSource = null;
> >     SelectableDataSource sds;
> >     EditableAdapter auxea;
> >
> >     DefaultRow row;
> >     String nameProject;
> >     ProjectTable projectTables;
> >
> >
> >     public CrearTablas(String nameProject, String nameFic,String[]
> > Campos,int [] fieldTypes ){
> >         this.nameProject=nameProject;
> >         dsf = LayerFactory.getDataSourceFactory();
> >         dsf.createFileDataSource(driver.getName(), nameProject,
> > "/home/revartj/Desktop/"+nameFic+".dbf", Campos, fieldTypes);
> >         try {
> >             dataSource = dsf.createRandomDataSource(nameProject,
> > DataSourceFactory.AUTOMATIC_OPENING );
> >             dataSource.setDataSourceFactory(dsf);
> >             sds = new SelectableDataSource(dataSource);
> >             auxea = new EditableAdapter();
> >             auxea.setOriginalDataSource (sds);
> >         } 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 void AniadirRow(Value[] valor){
> >         row = new DefaultRow(valor);
> >         try {
> >             auxea.addRow(row, "description", EditionEvent.ALPHANUMERIC);
> >
> >         } catch (DriverIOException e) {
> >             // TODO Auto-generated catch block
> >             e.printStackTrace();
> >         } catch (IOException e) {
> >             // TODO Auto-generated catch block
> >             e.printStackTrace();
> >         }
> >     }
> >     public void AniadirTablaProject(){
> >         try {
> >             projectTables = ProjectFactory.createTable
> > (nameProject,auxea);
> >         } catch (DriverException e) {
> >             // TODO Auto-generated catch block
> >             e.printStackTrace();
> >         }
> >         ProjectExtension ext =
> > (ProjectExtension)PluginServices.getExtension( ProjectExtension.class);
> >         ext.getProject().addDocument(projectTables);
> >
> >     }
> >
> > }
> >
> > Un Saludo
> >
> >
> >  ------------------------------
> >
> > _______________________________________________
> > gvSIG_desarrolladores mailing list
> >
> > gvSIG_desarrolladores en runas.cap.gva.eshttp://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
> >
> >
> >  --
> > Vicente Caballero Navarro
> > Grupo desarrollo gvSIG.
> > IVER TI S.A.
> > C/ Lérida, 20
> > 46005-Valencia
> > Tlf.+34963354983
> >
> > www.iver.eswww.gvsig.com
> >
> >
> > _______________________________________________
> > 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.eshttp://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
> --
> Vicente Caballero Navarro
> Grupo desarrollo gvSIG.
> IVER TI S.A.
> C/ Lérida, 20
> 46005-Valencia
> Tlf.+34963354983
> www.iver.eswww.gvsig.com
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20070717/526a382a/attachment-0001.htm


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