首页 > 其他分享 >OO ALV 实现下拉框

OO ALV 实现下拉框

时间:2022-10-12 20:05:08浏览次数:85  
标签:OO layout wa fieldcatalog alv ALV TYPE 下拉框


​http://blog.sina.com.cn/s/blog_c0978c9b0101hesn.html​





至于下拉框,主要的地方如下:





*…………………………………………………………………………………………



lvc_s_fcat 指定某字段为下拉框



*…………………………………………………………………………………………






DATA: wa_fieldcatalog    TYPE lvc_s_fcat,    "显示数据列内表工作区域



    it_fieldcatalog    TYPE lvc_t_fcat.    "显示数据列内表





DEFINE mac_fieldlog.



                           



      = g_pos.        



wa_fieldcatalog-fieldname       = &1.             "字段名称



      = &2.             "显示名称,跟reptext效果基本相同



wa_fieldcatalog-reptext        



wa_fieldcatalog-outputlen       = &3.             "显示长度








"对AAA字段实现下拉框显示






   wa_fieldcatalog-edit     = 'X'.              



  wa_fieldcatalog-drdn_hndl = '1'.              












"对BBB字段实现下拉框显示






  wa_fieldcatalog-drdn_hndl = '2'.              "下拉框句柄2














END-OF-DEFINITION.







*…………………………………………………………………………………………



调用类,实现下拉框功能



*…………………………………………………………………………………………



  TYPE REF TO cl_gui_alv_grid,                    



    alv_ctner    





FORM zform_alv_show .



DATA:   l_style       TYPE i,



        ls_layout     TYPE lvc_s_layo,



        is_stable     TYPE lvc_s_stbl,



       





* 屏幕初始化








 



   



      repid                      



      dynnr                      



    side                         = cl_gui_docking_container=>dock_at_right       ”ALV贴屏幕右边,从屏幕右边开始算宽度



      side                         = cl_gui_docking_container=>dock_at_left      



      extension                   = 900                                           "屏幕宽度



      style                       = cl_gui_control=>ws_child                    



   



      cntl_error                   = 1



      cntl_system_error          



      create_error                 = 3



      lifetime_error               = 4



     



      OTHERS                       = 6.





 



   



   



 











*添加自定义工具条



 



*



 



   



     





*构建显示字段样式



 





 



 



   



     





* layout 设定样式



 



  ls_layout-cwidth_opt = 'X'.    





 



 





绑定事件



 





  SET HANDLER g_event->toolbar            



 






*这里是下拉框相关逻辑…………………………………………















ls_dropdown-handle = '1'.                          "指定下拉框句柄







































ls_dropdown-handle = '2'.                            "指定下拉框句柄
























CALL METHOD g_alv_grid->set_drop_down_table        "调用alv类的下拉框方法












*end………………………………………………………………












 



   



      is_layout             = ls_layout



      is_variant          



     



   



      it_fieldcatalog       = it_fieldcatalog[]



      it_outtab             = g_it_show[].









如上即可







有时候有你会发现点保存的时候报错:



比如你有个状态字段,在库表里是char1类型的,



1:禁用





当你定义alv字段的时候,直接参考库表的char1类型



点保存的时候会提示:



大于1”





这个时候,在定义alv子段的时候,不参考char1类型



而是定义成string





就可以了

标签:OO,layout,wa,fieldcatalog,alv,ALV,TYPE,下拉框
From: https://blog.51cto.com/u_15680210/5751437

相关文章