SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Не обновляется ALV grid после изменения внутренней таблицы



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Мальцев
Участник
Участник



Joined: 28 Sep 2007
Posts: 31

PostPosted: Wed Oct 10, 2007 9:35 am    Post subject: Не обновляется ALV grid после изменения внутренней таблицы Reply with quote

Вывожу grid через вызов REUSE_ALV_GRID_DISPLAY и добавляю в панель кнопку "Обновить", по которой вызывается
Code:

*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
* Change toolbar
  METHOD handle_toolbar.
    DATA: ls_toolbar  TYPE stb_button.

    clear ls_toolbar.
    move 3 to ls_toolbar-butn_type.
    append ls_toolbar to e_object->mt_toolbar.

    clear ls_toolbar.
    move text-101 to ls_toolbar-function. "'REFRESH'
    move icon_refresh to ls_toolbar-icon.
    move text-102 to ls_toolbar-quickinfo. "'Обновить'
    append ls_toolbar to e_object->mt_toolbar.
  ENDMETHOD.

* User command
  METHOD handle_user_command.
    CASE e_ucomm.
      WHEN 'REFRESH'.
        IF NOT GRID1 IS INITIAL.
          perform data_upload.
          CALL METHOD GRID1->refresh_table_display.
        ENDIF.
    endcase.
  ENDMETHOD.
ENDCLASS.


Данные в гриде не обновляются. Как сделать, чтобы грид перечитал табличку и обновил содержимое на экране?
Back to top
View user's profile Send private message
Shvetz
Специалист
Специалист



Joined: 05 Oct 2007
Posts: 53

PostPosted: Wed Oct 10, 2007 11:53 am    Post subject: Reply with quote

По идее, чтобы грид обновился нужно, чтобы сработало событие PBO того окна, где у вас находиться грид. Проверьте это поставив точку останова в модуле PBO. Сам не имею большой опыт, поэтому не могу точно сказать, но кажеться GRID1->refresh_table_display не инициирует РВО.

Если РВО не выполняется, то обновите после вызова GRID1->refresh_table_display экран, где расположен ALV Grid (например с помощью LEAVE TO SCREEN, или SET SCREEN на счет какого точно сам не уверен)
Back to top
View user's profile Send private message
Lord
Профессионал
Профессионал



Joined: 10 Sep 2007
Posts: 168

PostPosted: Wed Oct 10, 2007 3:06 pm    Post subject: Reply with quote

Еще проверьте, чтобы работало обновление в USER_COMMAND
нужно выставить флажек
rs_selfield-refresh = 'X'.

Еще полезно установить
rs_selfield-col_stable = 'X'.
rs_selfield-row_stable = 'X'.
чтобы выделенная ячейка не убегала с экрана при скролинге.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.