diff --git a/sohstationviewer/view/db_config/channel_dialog.py b/sohstationviewer/view/db_config/channel_dialog.py
index ba36f0d9ef80ac23bb5defe03abe1917f7ada039..28dc07013c1e26da05892e607e544b9c7ae9ba3d 100755
--- a/sohstationviewer/view/db_config/channel_dialog.py
+++ b/sohstationviewer/view/db_config/channel_dialog.py
@@ -3,12 +3,43 @@ channel_dialog.py
 GUI to add/edit/remove channels
 """
 from typing import List, Union
-from PySide6.QtWidgets import QMessageBox
+
+from PIL.ImageOps import contain
+from PySide6.QtCore import Qt
+from PySide6.QtWidgets import (
+    QMessageBox, QCheckBox, QWidget, QBoxLayout,
+    QHBoxLayout,
+)
 
 from sohstationviewer.view.db_config.db_config_dialog import UiDBInfoDialog
 from sohstationviewer.database.process_db import execute_db
 
 
+class CenteredCheckbox(QWidget):
+    """
+    A checkbox that is centered horizontally and vertically.
+
+    Implementation-wise, this puts a QCheckBox into a layout and centers it in
+    there. Method calls are then passed on to the internal QCheckBox for
+    processing.
+    """
+    def __init__(self, parent=None):
+        super(CenteredCheckbox, self).__init__(parent)
+        layout = QHBoxLayout()
+        self.setLayout(layout)
+        self.checkbox = QCheckBox()
+        layout.addWidget(self.checkbox)
+
+        layout.setContentsMargins(0, 0, 0, 0)
+        layout.setAlignment(Qt.AlignmentFlag.AlignCenter)
+
+    def isChecked(self) -> bool:
+        return self.checkbox.isChecked()
+
+    def setChecked(self, checked: bool):
+        self.checkbox.setChecked(checked)
+
+
 class ChannelDialog(UiDBInfoDialog):
     def __init__(self, parent):
         """
@@ -21,21 +52,36 @@ class ChannelDialog(UiDBInfoDialog):
         self.param_choices = []
         super().__init__(
             parent, ['No.', 'Channel', 'Label', 'Param',
-                     'ConvertFactor', 'Unit', 'FixPoint'],
-            'channel', 'channels', resize_content_columns=[0, 4, 5, 6],
+                     'ConvertFactor', 'Unit', 'FixPoint', 'All data'],
+            'channel', 'channels', resize_content_columns=[0, 4, 5, 6, 7],
             need_data_type_choice=True, required_columns={2: 'Param'},
             check_fk=False)
         self.delete_sql_supplement = f" AND dataType='{self.data_type}'"
         self.setWindowTitle("Edit/Add/Delete Channels")
         self.insert_sql_template = (f"INSERT INTO Channels VALUES"
-                                    f"(?, ?, ?, '', ?, ?, ?, "
+                                    f"(?, ?, ?, '', ?, ?, ?, ?,"
                                     f"'{self.data_type}')")
         self.update_sql_template = (f"UPDATE Channels SET channel=?, "
                                     f"label=?, param=?, convertFactor=?, "
-                                    f"unit=?, fixPoint=? "
+                                    f"unit=?, fixPoint=?, readAllPoints=?"
                                     f"WHERE channel='%s' "
                                     f"AND dataType='{self.data_type}'")
 
+    def add_checkbox_widget(self, row_idx: int, col_idx: int):
+        """
+        Add a checkbox to a cell of the data table.
+
+        :param row_idx: the row to insert the checkbox into
+        :param col_idx: the column to insert the checkbox into
+        :return the created checkbox widget
+        """
+        checked = (self.database_rows[row_idx][col_idx - 1]
+                      if row_idx < len(self.database_rows) else False)
+        checkbox = CenteredCheckbox(self.data_table_widget)
+        checkbox.setChecked(checked)
+        self.data_table_widget.setCellWidget(row_idx, col_idx, checkbox)
+        return checkbox
+
     def update_data_table_widget_items(self):
         """
         Create list of parameters to used in widget for selecting parameters
@@ -49,6 +95,7 @@ class ChannelDialog(UiDBInfoDialog):
         """Clear the content of the first row of the editor."""
         self.data_table_widget.cellWidget(0, 4).setText('1')
         self.data_table_widget.cellWidget(0, 6).setValue(0)
+        self.data_table_widget.cellWidget(0, 7).setChecked(False)
 
     def set_row_content(self, row_idx: int,
                         row_content: List[Union[str, int]]):
@@ -69,6 +116,7 @@ class ChannelDialog(UiDBInfoDialog):
             str(row_content[3]))
         self.data_table_widget.cellWidget(row_idx, 5).setText(row_content[4])
         self.data_table_widget.cellWidget(row_idx, 6).setValue(row_content[5])
+        self.data_table_widget.cellWidget(row_idx, 7).set_checked(row_content[6])
 
     def set_row_widgets(self, row_idx, fk=False):
         """
@@ -85,6 +133,7 @@ class ChannelDialog(UiDBInfoDialog):
         self.add_widget(row_idx, 4, field_name='convertFactor')
         self.add_widget(row_idx, 5)  # unit
         self.add_widget(row_idx, 6, range_values=[0, 5])  # fixPoint
+        self.add_checkbox_widget(row_idx, 7)
         self.add_delete_button_to_row(row_idx, fk)
         self.add_reset_button_to_row(row_idx)
 
@@ -154,21 +203,22 @@ class ChannelDialog(UiDBInfoDialog):
         Get list of data to fill self.data_table_widgets' content
         """
         sql = (
-            f"SELECT channel, "
-            f"IFNULL(label, '') AS label,"
+            f"SELECT channel,"
+            f" IFNULL(label, '') AS label,"
             f" IFNULL(param, '') AS param,"
             f" convertFactor,"
             f" IFNULL(unit, '') AS unit,"
-            f" IFNULL(fixPoint, 0) AS fixPoint "
+            f" IFNULL(fixPoint, 0) AS fixPoint,"
+            f" readAllPoints "
             f"FROM Channels "
             f"WHERE dataType='{self.data_type}'"
         )
         backup_rows = execute_db(sql, db_path='backup_db_path')
         self.backup_database_rows = [
-            [d[0], d[1], d[2], float(d[3]), d[4], int(d[5])]
+            [d[0], d[1], d[2], float(d[3]), d[4], int(d[5]), int(d[6])]
             for d in backup_rows]
         channel_rows = execute_db(sql)
-        return [[d[0], d[1], d[2], float(d[3]), d[4], int(d[5])]
+        return [[d[0], d[1], d[2], float(d[3]), d[4], int(d[5]), int(d[6])]
                 for d in channel_rows]
 
     def get_row_inputs(self, row_idx):
@@ -183,7 +233,8 @@ class ChannelDialog(UiDBInfoDialog):
             self.data_table_widget.cellWidget(row_idx, 3).currentText(),
             float(self.data_table_widget.cellWidget(row_idx, 4).text()),
             self.data_table_widget.cellWidget(row_idx, 5).text(),
-            self.data_table_widget.cellWidget(row_idx, 6).value()
+            self.data_table_widget.cellWidget(row_idx, 6).value(),
+            int(self.data_table_widget.cellWidget(row_idx, 7).isChecked()),
         ]
 
     def remove_row(self, remove_row_idx):