diff --git a/src/textual/widgets/_data_table.py b/src/textual/widgets/_data_table.py index dd5f9c6d72..dc59fb1a77 100644 --- a/src/textual/widgets/_data_table.py +++ b/src/textual/widgets/_data_table.py @@ -1317,8 +1317,8 @@ def validate_cursor_coordinate(self, value: Coordinate) -> Coordinate: def _clamp_cursor_coordinate(self, coordinate: Coordinate) -> Coordinate: """Clamp a coordinate such that it falls within the boundaries of the table.""" row, column = coordinate - row = clamp(row, 0, self.row_count - 1) - column = clamp(column, 0, len(self.columns) - 1) + row = clamp(row, 0, max(0, self.row_count - 1)) + column = clamp(column, 0, max(0, len(self.columns) - 1)) return Coordinate(row, column) def watch_cursor_type(self, old: str, new: str) -> None: