diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b83ccf89..9da52b51e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## Unreleased + +### Fixed + +- DataTable scrollbars resize correctly when header is toggled https://github.com/Textualize/textual/pull/1803 + ## [0.11.0] - 2023-02-15 ### Added diff --git a/src/textual/widgets/_data_table.py b/src/textual/widgets/_data_table.py index 3a3d5e100..203936e71 100644 --- a/src/textual/widgets/_data_table.py +++ b/src/textual/widgets/_data_table.py @@ -786,7 +786,11 @@ class DataTable(ScrollView, Generic[CellType], can_focus=True): elif self.cursor_type == "column": self._highlight_column(self.cursor_column) - def watch_show_header(self) -> None: + def watch_show_header(self, show: bool) -> None: + width, height = self.virtual_size + height_change = self.header_height if show else -self.header_height + self.virtual_size = Size(width, height + height_change) + self._scroll_cursor_into_view() self._clear_caches() def watch_fixed_rows(self) -> None: