2017-09-08 2 views
0

J'ai pour tâche d'actualiser uniquement les lignes modifiées dans la grille ALV. Je sais que la grille est rafraîchie par la méthodeComment actualiser uniquement les lignes modifiées dans la grille ALV?

CALL METHOD l_grid->refresh_table_display 
    EXPORTING 
    is_stable  = ls_stbl 
    EXCEPTIONS 
    finished  = 1 
    OTHERS   = 2. 

Mais il rafraîchit uniquement la grille entière.

Existe-t-il une méthode permettant de rafraîchir certaines lignes de la grille?

+0

Veuillez ajouter un peu plus de contexte. Êtes-vous en mode d'édition ou d'affichage? – vwegert

+0

C'est un mode d'affichage seulement. Je fais quelques opérations de données/changements avec des lignes sélectionnées lorsque l'utilisateur clique sur les boutons de la barre d'outils. Je dois montrer les changements de date dans la grille ALV. Le client demande de ne rafraîchir que les lignes sélectionnées, car la grille peut contenir trop de lignes. – Skalozub

Répondre

1

En dehors de l'événement DATA_CHANGED en mode édition, cela n'est pas pris en charge.

+0

Merci pour la réponse. Le passage en mode édition combiné à l'utilisation de la méthode change_data_from_inside semble pouvoir modifier certaines lignes de la grille. – Skalozub

0

J'ai le même problème mais dans mon scénario, j'utilisais le module de fonction REUSE_ALV_GRID_DISPLAY. Si je passe la commande de rafraîchissement sur FM, cela rafraîchit l'affichage de la grille entière. Je l'ai donc résolu en utilisant la commande "@REFRESH". après avoir fait des changements dans la table interne, j'ai appelé @refresh. Cela m'aide à résoudre le problème de la grille entière rafraîchissante. il rafraîchit avec seulement la ligne qui a fait des changements.