Bonjour.
J'ai fais une action spécifique, rattachée à une editTable, qui a pour but de vider le contenu d'un champ de toute ou partie des lignes selectionnées.
Mon traitement fonctionne bien cependant mon souci est au niveau du raffraichissement de la table après l'execution de la processAction. Je suis obligé de changer d'écran puis de revenir pour que la table prenne en compte les modifications.
Existe t-il un moyen pour signaler le besoin de raffraichissement directement dans la methode processAction ?
Mon code (je suis en 8.2 build 134)
En vous remerciant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public LyController processAction(LySession session, LyController parent, LyAction action, LyClassInfo classInfo, LyObjectList objects) { // Si nous n'avons pas d'objets selectionnés if(objects == null || objects.getSize() <= 0){ LyClassWorkSpace ws = new LyClassWorkSpace(session, classInfo, true); objects = new LySimpleObjectList(ws); } // Pour chaque objet, on fait une RAZ du champ commentaire et une réinitialisation du champ statut. Iterator<LyObject> it = objects.iterator(); LyFieldInfo infoCommentaire = classInfo.getFieldInfo(PRJ_AGATE.FLD_COMMENTAIRE_CHAMP); while (it.hasNext()) { LyObject lyObject = (LyObject) it.next(); LyValue valueFieldCommentaire = lyObject.getFieldValue(infoCommentaire); if(valueFieldCommentaire != null && valueFieldCommentaire.getValue() != null){ valueFieldCommentaire.setValue(null); lyObject.setFieldValue(valueFieldCommentaire); } } return null; }
Partager