以编程方式改变ALV树的布局

问题描述 投票:0回答:2

我想改变一个 cl_gui_alv_tree 程式化的。我目前的方法是行不通的。这是我目前的代码,在屏幕的PBO中执行。

  CALL METHOD gs_0700-s_tree-r_tree->delete_all_nodes
    EXCEPTIONS
      failed            = 1
      cntl_system_error = 2
      OTHERS            = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  PERFORM load_new_tree_nodes.

  ls_vari-report   = gs_0700-repid.
  ls_vari-handle   = 'TREE'.
  ls_vari-variant  = '/new_variant'

  (...)

  CALL METHOD gs_0700-s_tree-r_tree->set_variant_key
    EXPORTING
      is_variant = ls_vari.

  CALL METHOD gs_0700-s_tree-r_tree->column_optimize.
  CALL METHOD gs_0700-s_tree-r_tree->update_calculations.

  CALL METHOD gs_0700-s_tree-r_tree->frontend_update.

树被重新绘制,新的节点被加载。甚至列也得到了优化。一切都在改变,但布局的变化却没有。它看起来总是这样 /default 布局变化,我用 set_table_for_first_display 方法。我在树的初始化过程中创建了 /new_variant 而且我可以通过工具栏加载它。

有没有其他的方法来改变树的布局变化?

treeview sap abap dynpro
2个回答
0
投票

你是否调用了 SET_TABLE_FOR_FIRST_DISPLAY 带参数的方法 I_DEFAULT = space?

默认设置为 'X' 这导致总是显示默认的变量。

© www.soinside.com 2019 - 2024. All rights reserved.