ABAP grid的alv的checkbox列怎么选择不了啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP grid的alv的checkbox列怎么选择不了啊相关的知识,希望对你有一定的参考价值。

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 的ALV有一CHECKBOX列,现在有多行数据,但点击某行的CHECKBOX列时,只是选择到该行,CHECKBOX并没有勾选到,也没办法实现全选,要怎么修改啊

但点击某行的CHECKBOX列时,只是选择到该行,CHECKBOX并没有勾选到

内表数据已经更新 但是界面没刷新么?

如果是这样子,在你的usercommand事件里面
增加这个u_selfield-refresh = 'X'.刷新或者调用refresh_table_display这个方法刷新

要实现全选,自己在status上面增加一个全选按钮
然后在usercommand里面针对该事件的代码处理
loop整个内表 checkbox的值全部给'X' 然后 利用上面的方式刷新界面
这样子内表里面checkbox那一列的值是全部勾选了的 同时界面看到的也是全部打×追问

你说的全选我已经实现了,
我之前的问题是没把CHECKBOX那列设为可编辑状态,
但现在加了fieldcatalog-edit = 'X'.后,在最前面多了个行选择列,要怎么去掉那列呢

还有个问题就是我勾选某行的CHECKBOX列,然后点击其他按钮,
但是内表里记录CHECKBOX的那个字段没被更新啊,要怎么解决呢

追答

form user_command using u_ucomm like sy-ucomm u_selfield type slis_selfield.

DATA: lr_grid TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lr_grid.
CALL METHOD lr_grid->check_changed_data.
u_selfield-refresh = 'X'.
CASE U_UCOMM.

ENDCASE.

endform.

至于你说的fieldcatalog-edit = 'X'之后,会一列选择列 我表示莫名其妙
ALV所有呈现出来的列 都在fieldcat里面有一行数据 这一句代码是将一列设置为可编辑
怎么会莫名其妙多一列

参考技术A 根据你的描述应该是没有把CHECKBOX设置为可编辑状态,
解决办法定义:fieldcatalog-edit = 'X'.
希望能够帮助你解决问题!追问

加了fieldcatalog-edit = 'X'.后,在最前面多了个行选择列,要怎么去掉那列呢

参考技术B 用JS实现试试

求助!!!WEB DYNPRO FOR ABAP 的ALV操作

大家好!我在用web dynpro FOR abap 开发时需要在ALV中将某几列设置成下拉菜单或checkbox,应当如何实现呢? 查看了好多资料,试过多次都没有实现。请各位帮忙,多谢!

参考技术A 可以留下你的E-mail,我这里有一些资料,关于BSP和Web Dynpro for ABAP的,可以发给你。或者你可以登陆SDN上自己找,那里资料很多。 参考技术B 你需要使用类CL_SALV_WD_COLUMN中的方法SET_CELL_EDITOR。同时你需要创建一个对象,这个对象参考类CL_SALV_WD_UIE_CHECKBOX,也就CheckboxUI 元素。示例代码如下,希望对你有帮助。效果见图。你也可以设置Column为可编辑状态。* Sets checkbox for column DATA: LR_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE, LR_CONFIG_TABLE TYPE REF TO CL_SALV_WD_CONFIG_TABLE, LR_SALV_SETTINGS TYPE REF TO IF_SALV_WD_TABLE_SETTINGS, LR_COLUMN TYPE REF TO CL_SALV_WD_COLUMN, LR_CHECKBOX TYPE REF TO CL_SALV_WD_UIE_CHECKBOX.LR_INTERFACECONTROLLER = WD_THIS->WD_CPIFC_ALV_GRID( ).LR_CONFIG_TABLE = LR_INTERFACECONTROLLER->GET_MODEL( ).LR_SALV_SETTINGS ?= LR_CONFIG_TABLE.LR_COLUMN = LR_CONFIG_TABLE->IF_SALV_WD_COLUMN_SETTINGS"GET_COLUMN( 'INVOICE' ).CREATE OBJECT LR_CHECKBOX EXPORTING CHECKED_FIELDNAME = 'INVOICE'.CALL METHOD LR_COLUMN->SET_CELL_EDITOR EXPORTING VALUE= LR_CHECKBOX. 参考技术C 好神奇啊"各位能否给小弟提供一点 sapweb 方面的学习资料啊 参考技术D 多谢多谢啊(我可不是懒哦")wpc863@gmail.com

以上是关于ABAP grid的alv的checkbox列怎么选择不了啊的主要内容,如果未能解决你的问题,请参考以下文章

在SAP abap中。从第一个ALV显示根据筛选条件搜索出第二个ALV的显示数据(内表不一样)点击返回一直转圈

ABAP开发ALV报表如何实现,选中一列或很多列的效果?

abap ALV字段怎么设置搜索帮助?

abap 用的OO ALV 显示的 怎么可以修改标题

ABAP ALV 动态显示列

求助!!!WEB DYNPRO FOR ABAP 的ALV操作