Fonction SetEditFunction
La fonction SetEdit Function permet d'associer à une table les deux fonctions en retour qui permettent d'éditer et de modifier le contenu des cellules
SetEditFunction( BeginEditFunction, EndEditFunction)
BeginEditFunction( ligne, colonne): string
EndEditFunction( string): int
La fonction en retour BeginEditFunction est appelée lorsque l'utilisateur double-clique sur une cellule pour en éditer le contenu. La fonction reçoit en paramètre les coordonnées de la cellule, elle retourne la chaîne de caractère associée à cette cellule. SI cette cellule n'est pas éditable, la fonction renvoie une valeur indéfinie.
La fonction en retour EndEditFunction est appelée lorsque l'utilisateur a fini d'éditer une cellule en validant son contenu par un Retour-chariot ou une tabulation, ou en abandonnant en faisant escape. La fonction transmet le contenu de la chaîne éditée dans le premier cas ou une valeur indéfinie dans le second cas. Si la saisie est conforme à ce que attend l'application la fonction rend 1, si ce n'est pas conforme elle retourne 0.
Dans le premier cas le champ suivant est mis en édition, dans le second Sisal beep et l'utilisateur est invité à corriger sa saisie.
Dans cet exemple seule la cellule de la ligne 2 et de la colonne 5 est éditable et on attend un nombre compris entre 10 et 100.
Object tb Table, 100, 100, 200, 150,,,; Var Compteur;
MaBegin( ligne, colonne) begin if ligne == 1 and colonne == 4 then return Compteur; else return null; end
MaEnd( chaine) begin if Entier( chaine) >= 10 et ENtier( chaine) < 100 then return 1; else return 0; end .... On do begin tb.SetEditFunction( MaBegin, MAEnd); end