Views

Views describe how a table is projected for users. A view can hide or reorder fields, filter records, sort records, group records, and define type-specific configuration for grid, kanban, calendar, gantt, or gallery rendering.

View snapshot

PropertyTypeDescription
idstringView id.
tableIdstringOwning table id.
namestringView name.
typeBaseViewTypegrid, kanban, calendar, gantt, gallery, pivot.
fieldOrder?string[]Field order in this view.
fieldSettings?Record\<string, IViewFieldSetting\>Per-field visibility, width, and card settings.
filter?`IFilterConfignull`
sort?ISortConfig[]Sort rules.
group?IGroupConfig[]Group rules.
configViewSpecificConfigType-specific view configuration.

View types

TypeUse case
gridSpreadsheet-like table editing.
kanbanCards grouped by a select, person, group, text, or date field.
calendarRecords positioned by date fields.
ganttTimeline planning with start and end date fields.
galleryCard layout for visual or content-heavy records.
pivotSummaries and charts through the dashboard plugin.

Create a view

TypeScript
const view = table.createView('Kanban', univerAPI.Enum.BaseViewType.Kanban)

Configure filtering and sorting

TypeScript
view.setFilter({  conjunction: univerAPI.Enum.BaseFilterConjunction.AND,  conditions: [    {      fieldId: 'status',      operator: univerAPI.Enum.BaseFilterOperator.IS,      operand: 'In progress',    },  ],})view.setSort([  { fieldId: 'dueDate', direction: univerAPI.Enum.BaseSortDirection.ASC },])

Field visibility and width

TypeScript
view.setFieldVisible('internalNotes', false)view.setFieldWidth('title', 280)

How is this guide?

© 2026 DreamNum Co., Ltd.