Skip to content

feat(datagrid): write one typed value into every selected cell - #3717

Merged
datlechin merged 6 commits into
mainfrom
feat/3626-set-cells-to-value
Oct 21, 2026
Merged

datlechin merged 6 commits into
mainfrom
feat/3626-set-cells-to-value

Conversation

@datlechin

@datlechin datlechin commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Set Cells to Value… at the end of Set Value, on the cell's context menu and in Edit > Set Value. Asks for one value and stages it into every target cell, read the way a typed value is. Settings > Keyboard lists it under Data Grid, unbound.
  • Targets are the ones the other Set Value items take: the cell selection, else the clicked or focused column on every selected row.
  • Cells typing could not edit (read-only or server-owned column, binary column, deleted row) are skipped, and the sheet says how many it sets: "This sets 38 of 40 cells. The others cannot be edited." A column that refuses the value (empty text in a NOT NULL date) keeps its cells and beeps.
  • One undo step of ordinary cell edits, so Safe Mode and Preview SQL see them as usual.
  • The write is held to the records the sheet was opened over: a load that replaces them while the sheet is up drops it.
  • Pasting one value with several cells selected writes it into each of them. A block keeps the anchor paste. Paste stays enabled for this with no focused cell.
  • Data file windows keep their own Set Cells to Value: the grid hands it the cells it resolved, and both share one prompt. Its main-menu item moves from Edit > Data to Edit > Set Value, so the menu has one item of that title (MainMenuStructureTests.titlesAreUnique); the column header menu keeps it.
  • Data file cleanup commands (Fill Down, Set Cells to Value, Trim Whitespace, Change Case) now change only the selected cells of a split selection, not every row and column between them.
  • A paste into many data file cells is one commit and one page refresh, not a page rebuilt per cell.
  • Tests changed on purpose: EditSetValueMenuTests (new item, 8 entries), ShortcutUniquenessTests.unboundActionsAreCounted (one more unbound action than main, now 30), ShortcutUniquenessTests.newlyRebindableCommandsAreListable (lists the new action), DataGridRowViewSetValueTests.contextMenuCarriesSetValue.

Docs: TableProApp/docs#74

Test plan

  • New DataGridSetCellsToValueTests and GlobalStateSuites/DataGridPasteIntoSelectionTests: targets, skipped cells, the count string, one undo step, a NOT NULL refusal, per-column function reading, rows selected, the record fence, the data file handoff, single-value paste and its menu validation.
  • DataFileControllerTests: grid cells reach the data file command; separate cells stay separate; a batch of cell edits is one undo step.
  • KeyHandlingTableViewSetValueTests, DataGridRowViewSetValueTests, EditSetValueMenuTests, menu, shortcut, paste and cleared-cell suites rerun.

Fixes #3626

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Write one typed value into every selected cell

1 participant