private void updateTable() {
    tbLayout.removeAllViews();
    for (SensorMeasure measure : this.mainListSensorMeasures) {
      if ((calendarFilter != null)
          && (measure.getTimestamp().getTimeInMillis() < calendarFilter.getTimeInMillis()))
        continue; // Si la medida es anterior al filtro, nos la saltamos
      TableRow row = new TableRow(this);
      TextView tvDate = new TextView(this);
      TableRow.LayoutParams params = new TableRow.LayoutParams();
      params.column = 1;
      params.gravity = Gravity.LEFT;
      tvDate.setLayoutParams(params);

      tvDate.setText(DateFormat.getDateTimeInstance().format(measure.getTimestamp().getTime()));
      TextView tvValue = new TextView(this);
      tvValue.setGravity(Gravity.RIGHT + Gravity.FILL_HORIZONTAL);
      tvValue.setText(measure.getValue());
      row.addView(tvDate);
      row.addView(tvValue);
      tbLayout.addView(row);
    }
  }