Manuel §2.39.12    

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