ABAP grid的alv的checkbox列怎么选择不了啊
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'的ALV有一CHECKBOX列,现在有多行数据,但点击某行的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那一列的值是全部勾选了的 同时界面看到的也是全部打×
内表数据已经更新 但是界面没刷新么?
如果是这样子,在你的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里面有一行数据 这一句代码是将一列设置为可编辑
怎么会莫名其妙多一列
展开全部
根据你的描述应该是没有把CHECKBOX设置为可编辑状态,
解决办法定义:fieldcatalog-edit = 'X'.
希望能够帮助你解决问题!
解决办法定义:fieldcatalog-edit = 'X'.
希望能够帮助你解决问题!
追问
加了fieldcatalog-edit = 'X'.后,在最前面多了个行选择列,要怎么去掉那列呢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用JS实现试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询