ALVGRIDCONTROL详解Word格式文档下载.docx
- 文档编号:17708919
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:39
- 大小:64.73KB
ALVGRIDCONTROL详解Word格式文档下载.docx
《ALVGRIDCONTROL详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《ALVGRIDCONTROL详解Word格式文档下载.docx(39页珍藏版)》请在冰豆网上搜索。
[Fieldcatalog]
字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.
常用的控制字段如下:
(下面的示例将说明这些字段的使用,参考STRUCTURELVC_S_FCAT)
2
ROW_POS
ALV控制:
输出行(内部使用)
3
COL_POS
输出列
列的位置,第几列,例如1,2,…..
4
FIELDNAME
内部表字段的字段名称
字段名称
5
TABNAME
LVC标签名称
表名,如果是内表,是1
6
CURRENCY
货币单位
7
CFIELDNAME
参考的当前单位的字段名称
8
QUANTITY
计量单位
9
QFIELDNAME
参考计量单位的字段名称
10
IFIELDNAME
11
ROUND
ROUND值
12
EXPONENT
ALV控制:
流动表示的指数
13
KEY
关键字段
关键字段,前面变蓝色
14
KEY_SEL
可以被隐藏的关键列
可以被隐藏的关键列
15
ICON
作为图标输出
此列作为图标输出
16
SYMBOL
输出作为符号
17
CHECKBOX
作为复选框输出
复选框输出
18
JUST
对齐
对齐方式:
'
R'
:
rightjustified
L'
leftjustified
C'
centered
19
LZERO
输出前导零
X'
20
NO_SIGN
输出抑制符号
不输出符号
21
NO_ZERO
为输出隐藏零
隐藏0
22
NO_CONVEXT
不考虑输出的转换退出
23
EDIT_MASK
为输出编辑掩码
格式
24
EMPHASIZE
带有颜色的高亮列
列的颜色
25
FIX_COLUMN
固定列
26
DO_SUM
总计列值
合计
27
NO_SUM
没有总计列值
没有合计
28
NO_OUT
列没有输出
隐藏此列
29
TECH
技术字段
.也是隐藏,但是有点不一样
30
OUTPUTLEN
列的字符宽度
输出的长度
31
CONVEXIT
转换例程
32
SELTEXT
对话功能的列标识符
33
TOOLTIP
列抬头的工具提示
34
ROLLNAME
F1帮助的数据元素
35
DATATYPE
ABAP字典中的数据类型
36
INTTYPE
ABAP数据类型(C,D,N,...)
37
INTLEN
以字节计的内部长度
内容的长度
38
LOWERCASE
允许/不允许小写字母
允许大小写
39
REPTEXT
标题
40
HIER_LEVEL
内部使用
41
REPREP
价值是补充/补充接口的选择标准
42
DOMNAME
定义域名
43
SP_GROUP
组代码
44
HOTSPOT
单击敏感
下面出现下划线,响应单击
45
DFIELDNAME
数据库中列组的字段名称
46
COL_ID
列ID
47
F4AVAILABL
字段有输入帮助吗
.此列有搜索帮助
48
AUTO_VALUE
自动复制值
49
CHECKTABLE
表名
50
VALEXI
固定值存在
51
WEB_FIELD
52
HREF_HNDL
自然数
热点连接的句柄
53
STYLE
样式
下面有例子会介绍,比如PUSHBUTTION
54
STYLE2
55
STYLE3
56
STYLE4
57
DRDN_HNDL
下拉的句柄
58
DRDN_FIELD
下拉的字段
59
NO_MERGING
字符字段长度1
相同的值不合并
60
H_FTYPE
ALV树控制:
功能类型(总计,平均,最大.,...)
61
COL_OPT
可选列优化的条目
62
NO_INIT_CH
63
DRDN_ALIAS
64
REF_FIELD
内部表字段的参考字段名称
65
REF_TABLE
内部表字段的参考表名称
66
TXT_FIELD
67
ROUNDFIELD
带有ROUND说明的字段名称
68
DECIMALS_O
输出小数位的编号
69
DECMLFIELD
带DECIMALS说明的字段名称
70
DD_OUTLEN
输出字符长度
71
DECIMALS
小数点后的位数
设置小数的位数
72
COLTEXT
列标题
列标题
73
SCRTEXT_L
长字段标签
74
SCRTEXT_M
中字段标签
75
SCRTEXT_S
短字段标签
76
COLDDICTXT
确定DDIC文本参考
77
SELDDICTXT
78
TIPDDICTXT
79
EDIT
准备输入
输出状态.'
可输入
80
TECH_COL
81
TECH_FORM
82
TECH_COMP
83
HIER_CPOS
层次列位置
84
H_COL_KEY
树控制:
列名称/项目名称
85
H_SELECT
标识是否可以选择树控制中的列
86
DD_ROLL
数据元素(语义域)
87
DRAGDROPID
拖&
放处理拖放对象
88
MAC
89
INDX_FIELD
90
INDX_CFIEL
91
INDX_QFIEL
92
INDX_IFIEL
93
INDX_ROUND
94
INDX_DECML
95
GET_STYLE
96
MARK
2.布局控制[layout]
布局是用来控制整个ALV的一个布局,比如ALV的标题,是否可编辑,行颜色,列颜色.
参照ALV的控制结构[LVC_S_LAYO],以后的例子我将详细介绍如何设置行颜色和列颜色.
详细的结构说明
字段名
描述
Valuerange
CWIDTH_OPT
最优化宽度
SPACE,'
SMALLTITLE
小标题,如果设置了这个字段,
则标题与列标题大小一样
GRID_TITLE
标题,在网格和工具条之间
最长70个字符
NO_HEADERS
如果被设置,列标题隐藏
NO_HGRIDLN
隐藏水平线
禁用单元格合并
NO_ROWMARK
如果被设置,选择列在选择模式
为D和A的时候隐藏
NO_TOOLBAR
隐藏工具条
NO_VGRIDLN
隐藏垂直线
SEL_MODE
选择模式
A'
'
B'
D'
EXCP_CONDS
合计例外
EXCP_FNAME
字段名称带有例外编码
最长30个字符
EXCP_LED
例外作为LED
EXCP_ROLLN
例外文档的数据元素
CTAB_FNAME
带有复杂单元格颜色编码的字段名称
INFO_FNAME
带有简单行彩色代码的字段名称
ZEBRA
可选行颜色,如果设置了,出现了间隔色带
NO_TOTLINE
没有总计
NUMC_TOTAL
可以对NUMC字段进行合计
TOTALS_BEF
总计输出在第一行,小计在新的值之前
STYLEFNAME
设置单元格,比如PUSHBUTTON
3.打印和排序,过滤控制
打印的参数控制请参考结构[LVC_S_PRNT]
排序的参数控制请参考结构[LVC_S_SORT]
过滤的参数控制请参考结构[LVC_S_FILT]
这里不再一一解释,进入中文版本,里面应该也有解释的,虽然一些不是很清楚.
五.编写简单的ALV程序.
首先这里就不详细介绍DIALOG的用法了.
OO的ALVGRID必须存在于一个容器当中,就是FUNCTION的ALV,其实也是一样的,底层也是使用CL_GUI_ALV_GRID这个类的.
首先ALV的显示需要有几个先决条件.
1,字段目录,这个是必须的,如果没有这个参数,参考一个数据字典也是可以的,就是参数I_STRUCTURE_NAME.
2.存放数据的内表,最好内表的结构和字段目录是一致的,否则可能会出现一些无法预知的错误,当然你说我非要不一样,那也不一定会出现错误.我建议是最好一样的.
这2个是必须的,布局的话,应该是可以不设置的,使用默认的就可以了.
创建个SCREEN,在屏幕上创建个容器,CONTAINER.定义变量.
DATA:
wcl_container
TYPE
REF
TO
cl_gui_custom_container,
wcl_alv
cl_gui_alv_grid
.
*---
存放字段目录的内表
DATA
gt_fieldcat
lvc_t_fcat
布局结构
gs_layout
lvc_s_layo
*----声明需要显示的内表(以SFLIGHT为例)
BEGIN
OF
gt_list
OCCURS
0
INCLUDE
STRUCTURE
sflight
END
.
创建ALV这个对象,它的父组件是那个容器.
在PBO中写入如下代码:
PROCESS
BEFORE
OUTPUT
MODULE
display_alv
创建DISPLAY_ALV的MODULE后,写下如下代码:
PERFORM
ENDMODULE
"
在FORMDISPLAY_ALV中,判断ALV实例是否存在,如果不存在,则创建:
FORM
IF
IS
INITIAL
CREATE
OBJECT:
wcl_container
EXPORTING
container_name
=
ALV_CON'
OBJECT
wcl_alv
i_parent
wcl_container.
*-----准备获取字段目录
prepare_field_catalog
CHANGING
*-----设置布局
prepare_layout
*-----显示alv
CALL
METHOD
gr_alvgrid->
set_table_for_first_display
*
I_BUFFER_ACTIVE
=
I_CONSISTENCY_CHECK
I_STRUCTURE_NAME
IS_VARIANT
I_SAVE
I_DEFAULT
is_layout
gs_layout
IS_PRINT
IT_SPECIAL_GROUPS
IT_TOOLBAR_EXCLUDING
IT_HYPERLINK
CHANGING
it_outtab
gt_list[]
it_fieldcatalog
gt_fieldcat
IT_SORT
IT_FILTER
EXCEPTIONS
invalid_parameter_combination
1
program_error
too_many_lines
OTHERS
4
ELSE
*----刷新alv
refresh_table_display
IS_STABLE
I_SOFT_REFRESH
finished
2
sy-subrc
<
>
0.
*--异常处理
ENDIF.
ENDIF
ENDFORM.
display_alv
方法"
set_table_for_first_display"
的参数说明
参数
含义
I_BUFFER_ACTIVE
如果方法调用是静态的,可以设置这个标记,这表示,如果每次显示ALV都是
相同的字段目录.既然这样,那么字段目录会被放到一个特殊的缓存里,
这样加速了ALV的显示
I_STRUCTURE_NAME
输出数据参考的数据字典的结构名,例如'
SFLIGHT'
.如果指定了这个参数,字段
目录会自动生成,下面的参数IT_FIELDCATALOG不需要传值.
IS_VARIANT
决定布局显示的变式
I_SAVE
决定用户是否可以保存变式:
只能保存全局变式
U'
只能保存特定变式
都可以保存
SPACE不可以保存变式
I_DEFAULT
决定用户是否可以定义默认的布局:
可以定义默认布局,这个参数是默认的
SPACE不可以定义默认布局
IS_LAYOUT
布局参数,传递布局控制的一些信息
IS_PRINT
后台打印属性的参数
IT_SPECIAL_GROUPS
如果在字段目录中,一些字段通过SP_GROUP被分组在一起.我们就必须为这些
组传递一个组的文本内表进去
IT_TOOLBAR_EXCLUDING
需要隐藏的标准的按钮的内表
IT_HYPERLINK
为每个句柄分配了超连接的内表,LVC_S_HYPE中的HREF存放了超连接的地址,
HANDLE指定了句柄,使用这些句柄,你可以在GRID中使用超连接
IT_ALV_GRAPHICS
比较复杂,没有用过,意思好象是可以在图表中显示ALV.
IT_OUTTAB
输出数据存放的内表,数据都是存放在这个内表里
IT_FIELDCATALOG
字段目录
IT_SORT
排序的标准
IT_FILTER
过滤的标准
方法"
REFRESH_TABLE_DISPLAY"
IS_STABLE
刷新的稳定性,有2个参数,一个是行,一个是列.如果设置了相应的值,
那么对应的行,或者列,在刷新的时候,将会保持稳定,就是滚动条保持不动.
I_SOFT_REFRESH
这个参数只是在异常情况下被使用,如果设置了这个参数,任何创建的合计,
任何排序次序,任何为了显示数据而设置的过滤都将保持不变.这个是非常
有意义的.例如:
当然你没有修改数据内表里的数据而想刷新ALV,仅仅只是
改变一下布局和字段目录.
第三步,获取要显示数据的字段目录.
有两种方式.
1.手动创建
pt_fieldcat
ls_fcat
type
lvc_s_fcat
ls_fcat-fieldname
CARRID'
ls_fcat-inttype
ls_fcat-outputlen
3'
ls_fcat-coltext
Carrier
ID'
ls_fcat-seltext
APPEND
to
CLEAR
CONNID'
ls_fcat-ref_table
Connection
ENDFORM
2.半自动的创建
FUNCTION
LVC_FIELDCATALOG_MERGE'
i_structure_name
S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ALVGRIDCONTROL 详解