/*
   * (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;
  }