ビュー

同じテーブルを複数のビューで表示でき、切り替えてもレコードは複製されません。以下は既存の table を使います。日付やグループ化用のフィールドを作成し、例の ID を置き換えてください。

1 つのテーブル、複数のビュー

Sheets コースの状態を変更してからビューを切り替えます。すべて同じレコードを使います。

学習計画の例 · 2026 年 9 月

コース状態日付
Sheets未着手
Docs進行中
Slides完了
Bases進行中

共有レコード: 4 · Sheets: 未着手

ビューの作成

TypeScript
const grid = table.createView('All records', univerAPI.Enum.BaseViewType.Grid)const kanban = table.createView(  'By status',  univerAPI.Enum.BaseViewType.Kanban,  {    view: {      config: { groupFieldId: 'status' },    },  },)

UI でビューをアクティブにする

TypeScript
const baseUI = univerAPI.getBaseUI()await baseUI.activateTable(table.getId())await baseUI.activateView(kanban.getId())

ビューのルールを設定する

TypeScript
kanban.setGroup([  { fieldId: 'status', direction: univerAPI.Enum.BaseSortDirection.ASC },])kanban.setFilter({  conjunction: univerAPI.Enum.BaseFilterConjunction.AND,  conditions: [    { fieldId: 'archived', operator: univerAPI.Enum.BaseFilterOperator.IS, operand: false },  ],})

基盤となるテーブルスキーマを変更せずに、ビュー単位のフィールド設定で表示/非表示、幅、カード表示を調整できます。

カレンダーの日付

カレンダーには開始日、ガントには終了日も必要です。ガントは稼働日、進捗、依存関係も扱えます。Gallery は card でタイトルと表示フィールドを設定します。Pivot の集計とチャートにはダッシュボードプラグインが必要です。

TypeScript
const calendar = table.createView('Schedule', univerAPI.Enum.BaseViewType.Calendar, {  view: {    config: { startDateFieldId: 'startDate', endDateFieldId: 'endDate', mode: 'month' },  },})

並べ替えとフィールド表示

フィルター、並べ替え、グループ化、表示設定は現在のビューに属し、元のレコードやフィールドを削除しません。

TypeScript
grid.setSort([{ fieldId: 'priority', direction: univerAPI.Enum.BaseSortDirection.DESC }])grid.setFieldVisible('internalNotes', false)grid.setFieldWidth('title', 280)

条件付きの色設定

スコアが 80 を超えるレコードを強調表示します。

TypeScript
const score = table.addField('Score', univerAPI.Enum.BaseFieldType.Number)grid.setConditionalColorRules([{  id: 'high-score',  target: univerAPI.Enum.BaseConditionalColorTarget.ROW,  fieldId: score.getId(),  operator: univerAPI.Enum.BaseConditionalColorOperator.GREATER_THAN,  operand: 80,  color: '#dcfce7',}])

配列順が優先順位です。[] で解除できます。セル・行・列を対象にでき、列の色は無条件に適用されます。

このガイドはいかがですか?

© 2026 DreamNum Co., Ltd.