/* * (non-Javadoc) * @see com.salmonllc.html.events.ValueChangedListener#valueChanged(com.salmonllc.html.events.ValueChangedEvent) */ public boolean valueChanged(ValueChangedEvent e) throws Exception { // TextEdits para fechas de vigencia if (e.getComponent() == _fechaTE3) { if (_dsPartes != null) { if (!_dsPartes.isFormattedStringValid(e.getColumn(), e.getNewValue())) { // No movemos el nuevo valor al dataStore,pero evitamos // que sea eliminado la proxima vez que la pagina sea mostrada e.setAcceptValue(ValueChangedEvent.PROCESSING_KEEP_CHANGE_IN_QUEUE); // Mostramos el error if (_dsPartes.getMensajeError(_dsPartes.getRow()) == null) _dsPartes.setMensajeError(_dsPartes.getRow(), "Formato de fecha incorrecto."); else _dsPartes.setMensajeError( _dsPartes.getRow(), _dsPartes.getMensajeError(_dsPartes.getRow()) + " - Formato de fecha incorrecto."); displayErrorMessage("Hubo errores procesando partes. Corríjalos y grabe nuevamente."); return false; } } } return true; }
@Override public boolean submitPerformed(SubmitEvent e) throws Exception { if (e.getComponent() == _grabarParteBUT3) { try { _dsPartes.update(); } catch (DataStoreException ex) { displayErrorMessage(ex.getMessage()); return false; } } if (e.getComponent() == _nuevoParteCopiarBUT1 || e.getComponent() == _nuevoBUT91) { int rowActual = _dsPartes.getRow(); // si existe row anterior, le copia los valores if (rowActual != -1) { // valido el parte que estoy copiando try { _dsPartes.completaUnParte(rowActual); } catch (DataStoreException ex) { // muestro mensaje pero sigo sin problemas displayErrorMessage(ex.getMessage()); _fechaTE3.setFocus(rowActual, true); return false; } int row = _dsPartes.insertRow(0); _dsPartes.setPartesMoFecha(row, _dsPartes.getPartesMoFecha(rowActual + 1)); _dsPartes.setPartesMoHoraDesde(row, _dsPartes.getPartesMoHoraDesde(rowActual + 1)); _dsPartes.setPartesMoHoraHasta(row, _dsPartes.getPartesMoHoraHasta(rowActual + 1)); _dsPartes.setPartesMoNroLegajo(row, _dsPartes.getPartesMoNroLegajo(rowActual + 1)); _dsPartes.setPartesMoProyecto(row, _dsPartes.getPartesMoProyecto(rowActual + 1)); _dsPartes.setPartesMoProyectoNombre( row, _dsPartes.getPartesMoProyectoNombre(rowActual + 1)); _dsPartes.setPartesMoSectorId(row, _dsPartes.getPartesMoSectorId(rowActual + 1)); _dsPartes.setPartesMoSupervisor(row, _dsPartes.getPartesMoSupervisor(rowActual + 1)); // hace foco en el registro int nroPagerow = _datatable1.getPage(row); int nroPageActual = _datatable1.getPage(_dsPartes.getRow()); if (nroPagerow != nroPageActual) _datatable1.setPage(_datatable1.getPage(row)); _fechaTE3.setFocus(row, true); } else { displayErrorMessage("Debe seleccionar un parte primero antes de copiarlo"); return false; } } if (e.getComponent() == _nuevoParteNuevoBUT2 || e.getComponent() == _nuevoBUT92) { int rowActual = _dsPartes.getRow(); int row = _dsPartes.insertRow(0); // si existe row anterior, s�lo copia valores b�sicos if (row > 1) { // valido el parte que estoy copiando _dsPartes.setPartesMoFecha(row, _dsPartes.getPartesMoFecha(rowActual + 1)); _dsPartes.setPartesMoProyectoId(row, _dsPartes.getPartesMoProyectoId(rowActual + 1)); } // hace foco en el registro int nroPagerow = _datatable1.getPage(row); int nroPageActual = _datatable1.getPage(_dsPartes.getRow()); if (nroPagerow != nroPageActual) _datatable1.setPage(_datatable1.getPage(row)); _fechaTE3.setFocus(row, true); } if (e.getComponent() == _eliminaParteBUT4) { // elimina todos los partes seleccionados for (int i = 0; i < _dsPartes.getRowCount(); i++) { if (_dsPartes.getInt(i, SELECCION_PARTE_FLAG) == 1) { // Rol marcado para selecci�n _dsPartes.deleteRow(i); } } _dsPartes.update(); refrescaPartes(); } if (e.getComponent() == _refrescarBUT5) { refrescaPartes(); } return super.submitPerformed(e); }