mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-02 01:03:29 +01:00
Fixed draw/scroll bugs when header is not visible due to scrolling
This commit is contained in:
@@ -273,13 +273,15 @@ namespace Terminal.Gui {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int headerLinesConsumed = line;
|
||||||
|
|
||||||
//render the cells
|
//render the cells
|
||||||
for (; line < frame.Height; line++) {
|
for (; line < frame.Height; line++) {
|
||||||
|
|
||||||
ClearLine(line,bounds.Width);
|
ClearLine(line,bounds.Width);
|
||||||
|
|
||||||
//work out what Row to render
|
//work out what Row to render
|
||||||
var rowToRender = RowOffset + (line - GetHeaderHeight());
|
var rowToRender = RowOffset + (line - headerLinesConsumed);
|
||||||
|
|
||||||
//if we have run off the end of the table
|
//if we have run off the end of the table
|
||||||
if ( Table == null || rowToRender >= Table.Rows.Count || rowToRender < 0)
|
if ( Table == null || rowToRender >= Table.Rows.Count || rowToRender < 0)
|
||||||
@@ -613,7 +615,7 @@ namespace Terminal.Gui {
|
|||||||
|
|
||||||
var viewPort = CalculateViewport(Bounds);
|
var viewPort = CalculateViewport(Bounds);
|
||||||
|
|
||||||
var headerHeight = GetHeaderHeight();
|
var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0;
|
||||||
|
|
||||||
var col = viewPort.LastOrDefault(c=>c.X < me.OfX);
|
var col = viewPort.LastOrDefault(c=>c.X < me.OfX);
|
||||||
|
|
||||||
@@ -690,7 +692,7 @@ namespace Terminal.Gui {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var columnsToRender = CalculateViewport (Bounds).ToArray();
|
var columnsToRender = CalculateViewport (Bounds).ToArray();
|
||||||
var headerHeight = GetHeaderHeight();
|
var headerHeight = ShouldRenderHeaders()? GetHeaderHeight() : 0;
|
||||||
|
|
||||||
//if we have scrolled too far to the left
|
//if we have scrolled too far to the left
|
||||||
if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) {
|
if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user