Édition
Vue d'ensemble
rs-grid prend en charge l'édition de cellules en ligne. Double-cliquez sur une cellule (ou appuyez sur Entrée sur une cellule sélectionnée) pour commencer l'édition. La couche web superpose un élément DOM input par-dessus la cellule du canvas.
Cycle de vie de l'édition
Démarrer l'édition
La grille stocke la valeur actuelle de la cellule dans un snapshot EditCell
afin de pouvoir la restaurer en cas d'annulation.
Valider
La nouvelle valeur est écrite dans la source de données (ou dans la couche de patches pour les sources en lecture seule). L'édition est enregistrée dans l'historique d'annulation.
Annuler
Restaure la valeur d'origine. Aucune entrée d'annulation n'est créée.
Éditeurs de cellules
Le type d'éditeur est contrôlé par ColumnDef::editor :
Champ texte (par défaut)
Lorsque editor vaut None ou Some(CellEditor::Text), un simple
<input type="text"> est affiché :
Menu déroulant
Pour les colonnes à choix fixes, utilisez CellEditor::Select :
Chaque SelectOption possède :
value— valeur stockée dans la cellule lors de la validationlabel— texte affiché dans le menu déroulanticon— URL d'icône optionnelle affichée à gauche du libellé
Support de l'annulation
Les éditions de cellules sont automatiquement enregistrées dans l'historique d'annulation. Appuyez sur Ctrl+Z pour annuler ou Ctrl+Y pour rétablir. Voir Annuler et Rétablir pour plus de détails.
Édition avec des sources de données en lecture seule
Même FnDataSource (qui n'a pas de set_cell) prend en charge l'édition —
la nouvelle valeur est stockée dans GridModel::patches, qui remplace la
source de données pour cette cellule.