diff --git a/src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts b/src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts index 848d84fdc9..0d8a16a937 100644 --- a/src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts +++ b/src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts @@ -16,10 +16,6 @@ const defaultOptions: IAutoColumnSizeOptions = { extraColumnHeaderWidth: 0 }; -// Set the max number of rows to scan to 10 since the result grid viewport in query editor is usually around 10 rows but can go up to 20 rows for notebooks. -// In most cases, 10 rows are enough to get a reasonable width and will cut down measuring costs for large notebooks. -const MAX_ROWS_TO_SCAN = 10; - export class AutoColumnSize implements Slick.Plugin { private _grid!: Slick.Grid; private _$container!: JQuery; @@ -166,7 +162,7 @@ export class AutoColumnSize implements Slick.Plugin; let viewPort = this._grid.getViewport(); let start = Math.max(0, viewPort.top); - let end = Math.min(data.getLength(), MAX_ROWS_TO_SCAN); + let end = Math.min(data.getLength(), viewPort.bottom); let allTexts: Array[] = []; let rowElements: JQuery[] = []; @@ -183,6 +179,9 @@ export class AutoColumnSize implements Slick.Plugin { + this.deleteRow(rowElement); + }); return widths.map((width) => Math.min(this._options.maxWidth, width)); } @@ -193,7 +192,7 @@ export class AutoColumnSize implements Slick.Plugin; let viewPort = this._grid.getViewport(); let start = Math.max(0, viewPort.top); - let end = Math.min(data.getLength(), MAX_ROWS_TO_SCAN); + let end = Math.min(data.getLength(), viewPort.bottom); for (let i = start; i < end; i++) { texts.push(data.getItem(i)[columnDef.field!]); }