Tables, champs et enregistrements
Une Base contient des tables ordonnées. Chaque table contient des définitions de champs, des valeurs d’enregistrements, des matrices facultatives de données de cellules, des ressources, des vues et des index utilisés par la logique de rendu et de recherche.
Les nouvelles tables commencent avec zéro enregistrement ; ajoutez-les explicitement via l’API Facade ou les données d’instantané importées.
Instantané d’une table
| Propriété | Type | Description |
|---|---|---|
| id | string | Identifiant de la table. |
| name | string | Nom de la table. |
| fields | Record\<string, IFieldSnapshot\> | Définitions des champs indexées par identifiant de champ. |
| fieldOrder | string[] | Liste ordonnée des identifiants de champs. |
| records | Record\<string, IRecordSnapshot\> | Données des enregistrements indexées par identifiant d’enregistrement. |
| recordOrder? | string[] | Liste ordonnée des identifiants d’enregistrements. |
| primaryFieldId | string | Identifiant du champ principal. |
| views | Record\<string, IViewSnapshot\> | Vues indexées par identifiant de vue. |
| viewOrder | string[] | Liste ordonnée des identifiants de vues. |
| resources? | IBaseResources | Ressources partagées pour les options, les membres et les pièces jointes. |
Instantané d’un champ
| Propriété | Type | Description |
|---|---|---|
| id | string | Identifiant du champ. |
| name | string | Nom du champ. |
| description? | string | Description du champ. |
| type | BaseFieldType | Type du champ. |
| config | Record\<string, unknown\> | Configuration propre au type de champ. |
| defaultValue? | BaseCellValue | Valeur par défaut des nouveaux enregistrements. |
| system? | boolean | Indique si le champ est géré par le système. |
| readonly? | boolean | Indique si les valeurs sont en lecture seule. |
Types de champs
Les types de champs courants comprennent text, number, currency, progress, rating, checkbox, singleSelect, multiSelect, person, group, date, attachment, formula, createdAt, updatedAt, createdBy et updatedBy.
Utilisez les énumérations Facade lorsque vous écrivez le code de votre application :
TypeScript
const field = table.addField('Due date', univerAPI.Enum.BaseFieldType.Date)Instantané d’un enregistrement
| Propriété | Type | Description |
|---|---|---|
| id | string | Identifiant de l’enregistrement. |
| values | Record\<string, BaseCellValue\> | Valeurs indexées par identifiant de champ. |
| orderKey | string | Clé d’ordre stable. |
| createdAt | number | Horodatage de création. |
| updatedAt | number | Horodatage de mise à jour. |
| createdBy? | string | Identifiant de l’auteur. |
| updatedBy? | string | Identifiant de l’auteur de la dernière mise à jour. |
Exemple avec Facade
TypeScript
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const title = table.getPrimaryField()const status = table.addField('Status', univerAPI.Enum.BaseFieldType.SingleSelect)const record = table.addRecord({ [title.getId()]: 'Write guide', [status.getId()]: 'In progress',})Que pensez-vous de ce guide ?