面向对象ALV选择列
通过 gs_layout-box_fname = 'SEL'.设置选择行,不能取到 SEL列的值
找资料:作者:f122300349
来源:CSDN
原文:https://blog.csdn.net/f122300349/article/details/5517154
版权声明:本文为博主原创文章,转载请附上博文链接
带选择列,是个什么概念,就是在ALV的表单主体前面多了一列可供选择的,具体就看下图:
这个就是对应的选择列,通过这个可以实现对ALV数据的选择,在调用函数的ALV和面向对象的ALV实现方法存在差异,下面讲两者的方法:
1)调用函数的ALV。
通过 SLIS_LAYOUT_ALV-BOX_FIELDNAME的字段来设置,这个字段的值对应的是输出内表的一个字段名字(专门用于标记选择哪些列,选中的为‘X’),其实这种实现方法就跟平时我们增加一列复选择框用于选择的方法大致一样的,但是这种方法选择的方式比较快。
2)面向对象的ALV。通过结构 LVC_S_LAYO-SEL_MODE的了段来设置,这个字段对应的值有以下5个:
1、sapce,等同于B,默认的设置。2、A(行与列的选择,无法选择单元格)。
3、B(单选,不可以多选行,不可以多选单元格)。
4、C(多选行、列,不可以多选单元格)。
5、D(多选行、列,还可以多选单元格)。
只有设置的值为‘C’或者‘D’带选择列才可以显示出来,其它值一概不行。如果ALV输出有列是可以编辑,则会覆盖了sel_mode的值,带选择列也会显示出来的哦。
通过与1)种方法比较,很容易发现2)种方法没有通过内表的一个字段值来记录哪些值没选中了,那我们如何知道哪些列被选中了呢???有办法了,通过CL_GUI_ALV_GRID-> GET_SELECTED_ROWS的方法来获取选中列对应的在输出内表中的行ID了,具体就看下面的例子了:
DATA : LT_ROW TYPE LVC_T_ROID, "内表
LS_ROW TYPE LVC_S_ROID. "工作区ALV_GRID1->GET_SELECTED_ROWS
IMPORTING
ET_ROW_NO = LT_ROW.LOOP AT LT_ROW INTO LS_ROW.
READ TABLE T_OUTPUT INDEX LS_ROW-ROW_ID.
IF SY-SUBRC EQ 0 .
T_ARG-PASS = 0 .
APPEND T_OUTPUT TO T_PRINT1.
ENDIF .
CLEAR T_OUTPUT.
ENDLOOP .
---------------------
作者:f122300349
来源:CSDN
原文:https://blog.csdn.net/f122300349/article/details/5517154
版权声明:本文为博主原创文章,转载请附上博文链接!
DATA: lv_row TYPE i,
lv_col TYPE i.
DATA: ls_row_no TYPE lvc_s_roid,
ls_row_info TYPE lvc_s_row,
ls_col_info TYPE lvc_s_col.
* CALL METHOD grf_grid->check_changed_data.
*
* CALL METHOD grf_grid->get_current_cell
* IMPORTING
* e_row = lv_row
* e_col = lv_col.
* CALL METHOD grf_grid->get_scroll_info_via_id
* IMPORTING
* es_row_no = ls_row_no
* es_row_info = ls_row_info
* es_col_info = ls_col_info. **获取所选的多行
DATA: lt_row TYPE lvc_t_roid, "内表
ls_row TYPE lvc_s_roid. "工作区 CALL METHOD grf_grid->get_selected_rows
IMPORTING
et_row_no = lt_row.
LOOP AT lt_row INTO ls_row.
READ TABLE gt_doc INTO gs_doc INDEX ls_row-row_id.
IF sy-subrc EQ .
gs_doc-sel = 'X'.
MODIFY gt_doc FROM gs_doc INDEX ls_row-row_id.
ENDIF .
ENDLOOP . gv_save_code = gv_ok_code.
CLEAR: gv_ok_code.
CASE gv_save_code. WHEN 'BACK' OR 'EXIT' OR 'CANC'.
LEAVE TO SCREEN . WHEN 'DOC'.
PERFORM frm_call_mb01. "调用过账 ENDCASE. CALL METHOD grf_grid->refresh_table_display. CALL METHOD grf_grid->set_scroll_info_via_id
EXPORTING
is_row_info = ls_row_info
is_col_info = ls_col_info
is_row_no = ls_row_no.
实现可以选择行
面向对象ALV选择列的更多相关文章
- 调用函数的ALV、面向对象的ALV设置带选择列
这个就是通过对应的选择列,实现对ALV数据的选择,在调用函数的ALV和面向对象的ALV实现方法存在差异,下面讲两者的方法:1)调用函数的ALV. 通过 SLIS_LAYOUT_ALV-BOX_FI ...
- jqGrid选择列控件向右拖拽超出边界处理
jqGrid选择列控件向右拖拽超出边界处理 $("#tb_DeviceInfo").jqGrid('navButtonAdd', '#jqGridPager', { ...
- Devexpress GridControl中 repositoryItemCheckEdit作为选择列以及作为显示列的使用方法
一.在gridcontrol列表控件中使用单选框作为选择列,这里有两种方式. 方式一:选择gridcontrol控件的Run Designer按钮,添加一列,设置该列的ColumnEdit为check ...
- scikit-learn预处理实例之一:使用FunctionTransformer选择列
本例展示怎样在一个管道中使用FunctionTransformer.如果你知道你的数据集的第一主成分与分类任务无关,你可以使用FunctionTransformer选取除PCA转化的数据的第一列之外的 ...
- pandas 选择列或者添加列生成新的DataFrame
选择某些列 import pandas as pd # 从Excel中读取数据,生成DataFrame数据 # 导入Excel路径和sheet name df = pd.read_excel(exce ...
- ALV行 列颜色设置
ALV的颜色设置分为3种:行.列.单元格. 1.列颜色的设置 在 slis_t_fieldcat_alv-emphasize 中,写入需要的颜色代码. Eg: DATA: fc TYP ...
- mysql选择列建立索引选择
1. 选择Where子句中筛选性好的列,即列中数据大量不重复 2. 索引名最好 idx_ 开头 3. 包含在 Order by ; Group By; Distinct 中的字段可以添加索引,可以提高 ...
- GridControl 选择列、复选框全选(下)
功能: 删除选中行 前台调用: string str=""; GridDelete(gv, "chk", out str); MessageBox ...
- GridControl 选择列、复选框全选(上)
说明: GirdControl 中添加一列,这一列不是写在数据库中的,而是代码中添加的. 图示: 底层类代码: #region GridControl 全选 /// <summary> / ...
随机推荐
- 算法之暴力破解和kmp算法 判断A字符串是否包含B字符串
我们都知道java中有封装好的方法,用来比较A字符串是否包含B字符串 如下代码,contains,用法是 str1.contains(str2), 这个布尔型返回,存在返回true,不存在返回fals ...
- python3 虚拟环境
一.python中的虚拟环境 1.虚拟环境:局部的,独立的python环境,完全模拟系统全局python环境的使用 二.安装 http://virtualenv.pypa.io/en/latest/u ...
- sklearn线性回归实现房价预测模型
目录 题目要求 单特征线性回归 方案一 方案二 多特征线性回归 两份数据 ex1data1.txt ex1data2.txt 题目要求 建立房价预测模型:利用ex1data1.txt(单特征)和ex1 ...
- ZZNUOJ-2155-单身man集合-【标程做法:数位DP-1-10^8,提前暴力打表法: 砍时间复杂度到10^5】
ZZNUOJ-2155: 单身MAN集合 题目描述: 单身man们突然集结起来了,虽然我们不知道它们想要干什么.你作为单身man的首领需要管理好每一只单身man,机智的你给每一只单身man编了一个编号 ...
- uhd镜像重新安装
USRP LW-X300连接网口,设置IP地址:192.168.10.1,子网验码:255.255.255.0 连接后uhd_usrp_probe提示更新镜像. 终端输入: uhd_image_loa ...
- 纯css实现树形结构
纯css实现属性结构 **css实现属性结构的思路是利用伪类实现树形结构连接线,如果想实现点击展开和收 缩以及复选框效果还得配合js来实现.其实展开和收缩就是一个点击元素其子元素隐藏 和显示的切换.* ...
- Python 11--文件流
- 001_Python安装
1. 判断电脑是否已经安装python,电脑->运行->输入:python 2. 如果没有安装,去官网下载:https://www.python.org/downloads/ 3. 安装过 ...
- 007_linuxC++之_构造函数的初级应用
(一)构造函数:用来在创建对象时初始化对象, 即为对象成员变量赋初始值 (二)构造函数的命名必须和类名完全相同 (三)更对具体的查看:构造函数 (四)直接分析程序 运行结果 解析上面程序: 1. 当程 ...
- .net加密
Microsoft .NET 中的简化加密 http://www.51cto.com/specbook/15/3407.htm 1.SHA1 using System.Security.Cryptog ...