Pour info, si vous développez un custom widget, lors de l’interrogation des métadonnées de colonne via grist.docApi.fetchTable('_grist_Tables_column'), une colonne vide sans formule renverra
isFormula= true
et
formula = ""
Ce qui peut être surprenant.
Voici une table pour récapituler ce que renvoient les clés isFormula et formula dans différents cas de figure :
| État de la colonne | isFormula | formula |
|---|---|---|
| Colonne vide | true | "" |
| Colonne de données | false | "" |
| Formule d’initialisation | false | "..." |
| Formule | true | "..." |
Pour distinguer entre :
- Les colonnes de données classiques (modifiables par l’utilisateur)
- Les colonnes de formule (en lecture seule, calculées)
il faudra donc faire 2 vérifications :
const isFormulaColumn = isFormula && formula?.length > 0;
Explication de Dmitry de GristLabs : Une colonne vide constitue un état particulier. Elle peut être de type Any (ce qu’une colonne de données ne peut pas être), mais accepte l’écriture de données, ce qui entraîne sa conversion automatique vers un type spécifique en fonction de ces données. En interne, elle est représentée précisément par
isFormula == Trueetformula == "".