UI5 / UI5/openui5

CellSelector: Support Ctrl+Click for noncontiguous cell selection and quick deselect with click

Open
#4,338 2 comments 0 reactions 2 assignees View on GitHub

@simlin is already working on this.

Since Oct 2, 2025.

enhancement
Dominant language
JavaScript
Stars
3.3k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

Why are you proposing this feature?

Summary

Please enhance sap.m.plugins.CellSelector to improve ad-hoc cell selection workflows in data tables:

Ctrl+Click add/remove: Allow selecting multiple, non-adjacent cells by holding Ctrl and clicking cells.

Click to deselect: Allow deselecting a cell by clicking it again (toggle), and/or provide an option to clear the entire selection when clicking outside the current selection.

Motivation / Use case

In analysis scenarios users often need to copy or operate on scattered cells (e.g., “A2, C2, F7”) without selecting whole ranges. Excel-style interactions (Ctrl+Click to add/remove individual cells) are familiar and reduce steps versus drawing multiple ranges. Quick deselect avoids reaching for a separate “clear selection” action.

Current behavior

CellSelector supports contiguous ranges via drag/shift and keyboard navigation, with incremental improvements in recent releases, but noncontiguous selection via Ctrl+Click isn’t available and deselect is not straightforward. See recent notes mentioning CellSelector improvements (selection behavior and ranges) in the 1.120 line.

How should a possible solution look like?

Proposed behavior

Ctrl+Click (Windows/Linux) / Cmd+Click (macOS) toggles the clicked cell’s membership in the current selection set without affecting other selected cells.

Click on an already-selected cell toggles it off (deselect).

Optional config flags (API proposal below) to tailor behavior:

enableNonContiguousSelection: boolean (default false)

toggleOnClickSelected: boolean (default true when non-contiguous is enabled)

clearOnBackgroundClick: boolean (default false)

Keyboard parity (optional but nice-to-have): a shortcut to “add/remove selection” mode similar to other tools.

Are there alternative approaches?

No response

Any further information you would like to share?

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.