Overview

Web Grid provides 8 editor types (including custom) for specialized input needs.

Editor Types
 

Text Editor

Standard text input for string values.

OptionTypeDefaultDescription
maxLengthnumber-Maximum character count
placeholderstring-Placeholder text when empty
patternstring-Regex pattern for validation
inputMode'text' | 'numeric' | 'email' | 'tel' | 'url''text'Virtual keyboard hint on mobile
editStartSelection'selectAll' | 'cursorAtStart' | 'cursorAtEnd' | 'mousePosition'inheritsCursor position when entering edit mode (inherits from grid-level editStartSelection)
Text Editor
 

Number Editor

Numeric input with min/max constraints and step control.

OptionTypeDefaultDescription
minnumber-Minimum allowed value
maxnumber-Maximum allowed value
stepnumber1Increment/decrement step
decimalPlacesnumber-Fixed decimal places
allowNegativebooleantrueAllow negative numbers
Number Editor
 

Checkbox Editor

Boolean toggle for true/false values. Can be customized to use different true/false values.

OptionTypeDefaultDescription
trueValueunknowntrueValue to store when checked
falseValueunknownfalseValue to store when unchecked
Checkbox Editor
 

Select Editor

Dropdown selection from a list of options.

OptionTypeDefaultDescription
optionsEditorOption[]-Static list of options
loadOptions(row, field) => Promise<EditorOption[]>-Dynamic options loader
optionsLoadTrigger'immediate' | 'oneditstart' | 'ondropdownopen''oneditstart'When to load dynamic options
allowEmptybooleanfalseAllow null/empty selection
emptyLabelstring'-- Select --'Label for empty option
valueMemberstring'value'Property for value
displayMemberstring'label'Property for display text
Select Editor
 

Combobox Editor

Searchable dropdown - type to filter options. Combines text input with dropdown selection.

OptionTypeDefaultDescription
optionsEditorOption[]-Options to filter from
loadOptions(row, field) => Promise<EditorOption[]>-Dynamic options loader (alternative to static options)
optionsLoadTrigger'immediate' | 'oneditstart' | 'ondropdownopen''oneditstart'When to load dynamic options
searchMemberstring-Property for searchable text (falls back to displayMember)
iconMemberstring-Property for icon/emoji
subtitleMemberstring-Property for subtitle/description
groupMemberstring-Property for grouping options
disabledMemberstring-Property for disabled state
allowEmptybooleanfalseAllow null/empty selection
emptyLabelstring-Label for empty option
dropdownMinWidthstring-Minimum width of dropdown panel
Combobox Editor
 

Date Editor

Date picker with configurable format and constraints.

OptionTypeDescription
minDateDate | stringMinimum selectable date
maxDateDate | stringMaximum selectable date
dateFormatstringDisplay format: 'YYYY-MM-DD', 'DD.MM.YYYY', etc.
outputFormat'date' | 'iso' | 'timestamp'Storage format: Date object, ISO string, or timestamp
Date Editor
 

Autocomplete Editor

Async search dropdown - type to trigger server search. Ideal for large datasets.

OptionTypeDefaultDescription
searchCallback(query, row, signal?) => Promise<EditorOption[]>-Async search function (required)
placeholderstring-Placeholder text shown when input is empty
initialOptionsEditorOption[][]Options to show before searching
minSearchLengthnumber1Min characters before search triggers
debounceMsnumber300Debounce delay in milliseconds
multiplebooleanfalseAllow multiple selections
maxSelectionsnumber-Max items when multiple=true
Autocomplete Editor
 

Custom Editor

Take full control with a custom editor callback.

Context Type
 
Custom Editor
 

Shared Option Properties

These properties work with select, combobox, and autocomplete editors:

OptionTypeDescription
valueMemberstringProperty for value (default: "value")
displayMemberstringProperty for display text (default: "label")
searchMemberstringProperty for searchable text
iconMemberstringProperty for icon/emoji
subtitleMemberstringProperty for subtitle
groupMemberstringProperty for grouping
disabledMemberstringProperty for disabled state
onselect(option, row) => voidCalled when option is selected
renderOptionCallback(option, context) => stringCustom HTML rendering for options
noOptionsTextstringText when no options found (default: from grid.labels)
searchingTextstringText while searching (autocomplete only, default: from grid.labels)
dropdownMinWidthstringMinimum width of dropdown panel
Custom Option Rendering
 

Callback Alternatives

Instead of member properties, you can use callbacks for more control:

CallbackTypeOverrides
getValueCallback(option) => string | numbervalueMember
getDisplayCallback(option) => stringdisplayMember
getSearchCallback(option) => stringsearchMember
getIconCallback(option) => stringiconMember
getSubtitleCallback(option) => stringsubtitleMember
getDisabledCallback(option) => booleandisabledMember
getGroupCallback(option) => stringgroupMember
Callback Example
 

Important Notes

  • EditorOption type: { value: string | number | boolean, label: string, [key: string]: unknown }
  • Callbacks override members: If both callback and member are set, callback takes priority
  • AbortSignal: Autocomplete provides a signal for request cancellation
  • Custom editors: Must call either commit() or cancel()
  • Dynamic options: Use loadOptions for row-specific option lists