DataSpreadsheetColumn extends DataGridColumn
Column controller for a DataSpreadsheet — extends DataGridColumn with a record-based editing API.
In a virtualized grid the cell for a given record may not be mounted (off-screen),
so editing/paste operate on the record, not a live cell. Otherwise it mirrors
Spreadsheet's column shape: input(record) builds a bound editor via Input,
paste/parsePaste apply pasted values, clear empties.
Constructor
new DataSpreadsheetColumn(options)
options
:
Object
optionalattribute
:
string
optionalrecord key this column reads/writes
editable
:
boolean
optionalwhether cells can be edited/pasted into
input
:
Object
optionalextra options merged into Input.create (e.g. dump/load)
index
:
number
optional0-based column position (assigned by the grid)
width
:
number
|
string
optionalexplicit column width (px number or CSS px string); falls back to the grid's default width when omitted
frozen
:
boolean
optionalpin this column to the left while the body scrolls
header
:
function
|
string
optionalheader content; function receives (column, grid)
render
:
function
optionalcell content renderer; receives (record, cell, column, grid)
value
:
function
optionaloptional override for the copy/serialized value; receives (record, column). Defaults to the render result.
class
:
string
optionalextra class(es) applied to header + cells
unnest
:
function
optionalexpand the record's nested collection into stacked sub-rows for this cell (SQL UNNEST/explode). A function (record) => Array returning the sub-records to stack (read-only display in v1)
splitInto
:
function
optionaldeprecated alias for unnest
Instance Properties
Extra Input.create options merged into every editor (override per type, e.g. number dump).
Input kind passed to Input.create; overflow-friendly rich text by default (mirrors Spreadsheet).
MIME types this column accepts on paste.
Instance Methods
cellAt()
A CellHandle for this column at a 0-based row index (or null).
CellHandles for this column across the whole dataset (lazy, transient).
clear()
Clear the record's value.
Resolve header content.
Build the bound edit control for a record (mirrors Spreadsheet via Input.create).
The returned element is two-way bound to record[attribute] — edits write back on
change/blur — and is shown in a Floater over the cell. Returns null when
the column isn't editable.
Parameters
record
:
Object
options
:
Object
optionalextra Input options (e.g. an initial value for type-to-edit)
Returns
HTMLElement
|
null
Parse a pasted/typed string into the stored value. Override per type.
paste()
Apply a pasted value to the record.
Resolve the display content for a record (string / node / dolla descriptor).
Resolve the copy/serialized value for a record (string).