0) {
const transform = firstRow.position * this.rowHeight;
return `translateY(${transform}px)`;
@@ -238,7 +238,7 @@ class TableVirtualizer extends UI5Element implements ITableFeature {
}
let scrollTopChange = 0;
- const rows = this._table.rows;
+ const rows = this._table._rows;
const firstRow = rows[0];
const lastRow = rows[rows.length - 1];
const hasDataBeforeFirstRow = firstRow.position !== 0;
diff --git a/packages/main/src/bundle.esm.ts b/packages/main/src/bundle.esm.ts
index 0dd3e72531f0..3e22fcf42d58 100644
--- a/packages/main/src/bundle.esm.ts
+++ b/packages/main/src/bundle.esm.ts
@@ -66,10 +66,13 @@ import FormItem from "./FormItem.js";
import FormGroup from "./FormGroup.js";
import FileUploader from "./FileUploader.js";
import Table from "./Table.js";
+import TableCell from "./TableCell.js";
import TableHeaderCell from "./TableHeaderCell.js";
import TableHeaderCellActionAI from "./TableHeaderCellActionAI.js";
import TableHeaderRow from "./TableHeaderRow.js";
import TableGrowing from "./TableGrowing.js";
+import TableGroupRow from "./TableGroupRow.js";
+import TableRow from "./TableRow.js";
import TableSelection from "./TableSelection.js";
import TableSelectionMulti from "./TableSelectionMulti.js";
import TableSelectionSingle from "./TableSelectionSingle.js";
diff --git a/packages/main/src/themes/TableGroupRow.css b/packages/main/src/themes/TableGroupRow.css
new file mode 100644
index 000000000000..72fefe84a9b1
--- /dev/null
+++ b/packages/main/src/themes/TableGroupRow.css
@@ -0,0 +1,15 @@
+:host {
+ background: var(--sapList_TableGroupHeaderBackground);
+ color: var(--sapList_TableGroupHeaderTextColor);
+ border-bottom: var(--sapList_BorderWidth) solid var(--sapList_TableGroupHeaderBorderColor);
+ font-weight: bold;
+}
+
+#group-cell {
+ grid-column: 1 / -1;
+ display: flex;
+ align-items: center;
+ padding: 0 var(--_ui5_table_cell_horizontal_padding);
+ padding-inline-start: var(--_ui5_first_table_cell_horizontal_padding);
+ min-height: inherit;
+}
diff --git a/packages/main/test/pages/TableGrouping.html b/packages/main/test/pages/TableGrouping.html
new file mode 100644
index 000000000000..3ab1d2f6ebc0
--- /dev/null
+++ b/packages/main/test/pages/TableGrouping.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
Table Grouping POC
+
+
+
+
+
+
+
+ Table Grouping POC (Treegrid)
+ Group by Country
+ Enable Alternating Colors
+
+
+
+
+
+ City
+ Country
+ Population
+
+
+
+
+
aria-rowindex and Row Alternation Reset Demo
+
+ Inspect rows with DevTools to verify: group rows receive sequential aria-rowindex,
+ and alternating colors restart after each group header row when enabled.
+
+
+
+
+
+
+