动态修改alv grid的内容的一个问题

最近做了这样的一个屏幕在下面的屏幕里通过批量维护调出上面的屏幕,录入要更改的数据,通过点击保存来动态改变下面屏幕的内容,开始得时候是在上面的屏幕中的保存按钮中调用alv grid control的刷新方法,发现只有第一次点保存的时候才能修改alv grid中的内容,后来在下面的屏幕的PBO中添加了如下代码,功能好使了:

  IF g_custom_container IS INITIAL.
    CREATE OBJECT g_custom_container EXPORTING
                  container_name = 'CONT01'.
    CREATE OBJECT alv_grid EXPORTING
                  i_parent = g_custom_container.
    CREATE OBJECT alv_dbclick.
    SET HANDLER alv_dbclick->on_dbclick FOR alv_grid.
    PERFORM frm_set_layout.
    PERFORM frm_transfer_data.
  ELSE.
    PERFORM frm_refresh_alv.
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  frm_refresh_alv
*&---------------------------------------------------------------------*
*       刷新ALV数据
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
FORM frm_refresh_alv.
  CALL METHOD alv_grid->refresh_table_display
*               EXPORTING
*                  IS_STABLE      =
*                  I_SOFT_REFRESH =
                EXCEPTIONS
                  FINISHED       = 1
                  others         = 2.
  CALL METHOD cl_gui_control=>set_focus EXPORTING control = alv_grid.
  CALL METHOD cl_gui_cfw=>flush.
*  CALL METHOD alv_grid->set_table_for_first_display
*              EXPORTING is_layout = gs_layout
*                        i_structure_name = 'ZSTYGINFO'
*              CHANGING  it_outtab = it_yginfo.

  IF SY-SUBRC <> 0.
  ENDIF.
ENDFORM. 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值