Skip to content

[Feat]: Virtualization of table rows #1974

@signalcodec-work

Description

@signalcodec-work

Summary

The built-in Table component in Lowcoder (based on Ant Design) currently does not expose a way to enable row virtualization. With only a few hundred rows, the table becomes sluggish to render and interact with. Ant Design v5 has a native virtual prop that drastically improves performance for large datasets, but there is no toggle or property in Lowcoder’s UI to take advantage of it.

Problem

Even with ~200–300 rows × 7 columns of small text/numbers, row selection and updates feel laggy.

Analysis shows the table re-renders all rows on selection changes, making performance degrade quickly.

Pagination is available, but some use cases require showing hundreds or thousands of rows continuously (e.g. quick scanning, cross-row analysis).

Since Lowcoder 2.6.2, Ant Design has been upgraded to v5.23.x, which supports table virtualization. However, the feature isn’t accessible via Lowcoder’s component settings.

Proposed Solution

Add a property in the Table component to enable virtualization. This could be:

A boolean toggle (Virtual scrolling: on/off) in the Table’s settings panel.

An optional numeric input for scroll.y height (required by AntD’s virtual mode).

Defaults off for backwards compatibility, but when enabled it passes virtual and scroll={{ y: }} to the underlying AntD

.

Benefits

Performance improvement when displaying large datasets (thousands of rows).

Faster row selection and smoother scrolling.

Aligns with AntD’s own recommendation to use pagination or virtualization for large data.

Gives developers flexibility to choose between pagination and virtual scroll depending on use case.

Alternatives

Continue using pagination (not suitable for all cases).

Patch Lowcoder source or build a custom component (maintenance burden for self-hosters).

Embed third-party grids like AG Grid (extra complexity, breaks Lowcoder consistency).

References

Ant Design v5 Table virtualization docs: AntD Table Virtual

Lowcoder release notes showing Ant Design upgrade in v2.6.2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions