0
votes

Comment actualiser automatiquement une grille interactive après avoir cliqué sur le bouton Enregistrer ou à un intervalle fixe?

J'ai un élément de page et une grille interactive sur une page APEX. L'élément de page est de Sélectionnez la liste Type et base sur la sélection Les données de la grille changent. J'ai par défaut Ajouter une ligne dans la grille pour ajouter des rangées. Je souhaite actualiser la grille après une fois clic sur le bouton SAVE dans la grille. Si la grille se rafraîchit automatiquement après un intervalle fixe de disons 2 ou 5 secondes qui est également bon pour moi.

Pour le scénario actuel, les lignes sont ajoutées mais ne réfléchissent pas à la page dans la grille interactive après avoir cliqué sur Save mais les entrées peuvent être trouvées dans la table de la base de données. Après rechargement de la page, les entrées réfléchissent dans la grille.

NOTE: Je travaille sur un lien Database pour récupérer les données.


2 commentaires

Je ne comprends pas vraiment votre situation. Pour autant que je sache, la touche Ajouter une ligne dans la grille interactive, ajoute une nouvelle ligne vide dans la grille interactive. Après avoir appuyé sur le bouton Enregistrer, vos modifications sont stockées. Le bouton d'enregistrement supprima-t-il visuellement la ligne ajoutée? Ou peut-être peut-être, au lieu de la grille interactive, utilisez le rapport interactif? et la touche Ajouter une ligne ouvrira une nouvelle fenêtre modale dans laquelle vous pouvez entrer les détails et, après avoir appuyé sur Enregistrer, le modal est fermé et vous souhaitez que la nouvelle ligne soit représentée automatiquement dans le rapport?


Oui, idéalement, il devrait sauvegarder la ligne ajoutée dans la grille, mais pour moi après avoir cliqué sur le bouton Enregistrer visuellement la ligne est supprimée de la grille et après la rechargement de la page, il est visible. Je crois que c'est parce que je travaille sur une liaison de base de données et donc La ligne ne recette pas le retour dans la grille.


3 Réponses :


0
votes

Lorsque vous ajoutez des lignes à votre grille interactive et appuyez sur le bouton Enregistrer, il rafraîchit et vous pouvez voir l'IG à jour.

Si vous avez besoin d'actualiser la région ou la page toutes les 5/10 secondes, procédez comme suit:

  1. Définissez un ID statique pour l'IG, par exemple "IG1".
  2. dans les attributs de la page, accédez à l'exécution lorsque la page charge et entrez:

    var modèle = apex.region ("ig1"). widget (). InteractiveGrid ("GeveViews"). Grid.model;

    setInterval (fonction () {modèle.fetchrecords (modèle._data);}, 10000);

    Cela va actualiser l'IG toutes les 10 secondes. Vous pouvez la définir à 2 ou 5 secondes.


3 commentaires

Cela fonctionnera tant que la grille interactive est en lecture seule. Pensez à ce qui se passerait lorsque l'édition est activée, vous modifiez actuellement des données et des incendies de rafraîchir toutes les x secondes. Devriez-vous perdre vos changements? Devrait-il demander quoi faire à chaque fois? Je ne pense pas que c'est la voie à suivre.


@Monica Godboy - J'ai suivi vos pas, mais cela n'a pas résolu le problème. Bien que je vois un rafraîchissement après un intervalle de jeu, cela ne récupère pas les données sur rafraîchir. De plus, la grille est activée pour l'édition.


@Giliam - L'édition est activée sur la grille et le problème que vous dirigez des séjours avec elle. Avez-vous une solution pour cela. Je pense que l'actualisation ne doit être enflammer que après avoir cliqué sur Enregistrer.



0
votes

J'avais quelque chose de Similair avec des filtres, si j'étais ajouté une ligne qui ne devrait pas se présenter à cause du filtre que j'avais sur elle serait toujours là jusqu'à ce que je me suis rafraîchi. De peut-être que si j'ai changé quelque chose, il ne devrait plus apparaître, il a sauvé, mais toujours montré.

Qu'est-ce que j'ai fait était faire une page Soumettre après la sauvegarde.

J'ai une action dynamique sur le clic de sélection Type Sélecteur JQuery et le sélecteur étant [Data-Action = "Enregistrer"]

Ensuite, l'action est simplement soumettre la page.

De cette façon, après avoir cliqué sur Enregistrer, il soumet la page entière et les recharges. J'espère que cela fait ce dont vous avez besoin.


0 commentaires

0
votes

Il existe un moyen de crochet sur l'action d'économie intégrée de la grille interactive.

Les étapes ci-dessous créeront un événement personnalisé, écoutant l'événement InterActiveGriDsave . Cet événement est tiré par APEX après que la grille interactive ait terminé son propre processus de sauvegarde. Assurez-vous que le nom de l'événement est orthographié correctement.

  • créer une action dynamique
    • quand → personnalisé
    • événement personnalisé → interactiveGridsave
    • Type de sélection → Région
    • Région →
      • Action d'actualisation (peut-être éteindre le feu sur l'initialisation)

        Je pense que cela vous aidera.


0 commentaires