2017-08-08 2 views
0

J'ai cet énorme système CRM d'entreprise RCP sur lequel je travaille. L'année dernière, elle a été mise à jour à RCP 4.5. Malheureusement, je suis très mauvais avec RCP parce que je n'ai jamais eu à faire avec le frontend ... Donc ma question peut sembler un peu étrange.Comment forcer RCP à recharger le contenu de la table

Quoi qu'il en soit, mon problème est:

J'ai une fenêtre de table où toutes les lignes tous remplis correctement avec les données. Une colonne a une fonction, où je peux double-cliquer sur et une autre fenêtre s'ouvrira, où je peux éditer/enlever/ajouter des données. Les identifiants des valeurs ajoutées apparaissent alors dans la colonne de la table principale. (Cela fonctionne correctement)

Le problème: Si j'ouvre cette fenêtre de l'éditeur, éditez quelque chose (ajoutez de nouvelles valeurs ou en supprimez une ou plusieurs), puis cliquez sur enregistrer et fermez cette fenêtre d'édition (c'est en fait un nouvel onglet ...) et puis revenir à cette fenêtre après l'édition, il va me montrer l'état AVANT l'édition ... (les nouvelles valeurs ne sont pas dans la liste, supprimé un sont toujours sur la liste) Les valeurs sont correctement stockées ou supprimées dans le DB, seule l'interface utilisateur semble être coincé avec l'ancien état. Je dois redémarrer l'interface graphique si je veux voir l'état correct (et le réel).

Ma question: comment forcer RCP à oublier l'ancien état de cet onglet/fenêtre et charger les données depuis DB? J'ai essayé beaucoup de choses dans la méthode de sauvegarde de cette fenêtre (rafraîchir, disposer de), mais rien ne semble fonctionner ...

+0

Vous ne nous avez pas dit assez sur la façon dont le code fonctionne pour dire n'importe quoi. –

+0

Eh bien, malheureusement, je ne sais pas exactement ce que je devrais dire à propos de ce code? Peux-tu m'aider? Comme je l'ai dit je ne suis pas un expert en RCP – VORiAND

Répondre

0

Utilisez-vous un TableViewer ou alors ?. en utilisant le tableViewer.setInput(...) encore avec de nouvelles données + layout() peut résoudre le problème, comme @ greg-449 dit, nous avons besoin d'informations sur quel type de taale vous utilisez pour afficher vos données et comment vous dites à cette table où sont ces données ..

+0

Eh bien, tout ce que j'ai pu trouver, c'est que c'est un scrolledComposite ... Cela semble-t-il quelque peu pertinent? :) – VORiAND

+0

Non. Vous devez avoir un 'TableViewer' ou alors afficher vos données dans certains. façon. un 'scrollComposite est juste un artefact pour permettre d'afficher des barres de défilement horizontales ou verticales. Vous devriez nous montrer du code si vous voulez plus d'aide. – titou10

+0

Désolé, il y a un peu d'encapsulation d'entreprise, mais oui, c'est un TableViewer, vous avez raison! – VORiAND