根据如何取得的ALV配置模型,要么只有一个与Context节点属性相同名称的列对象,要么没有列对象。如果没有列对象,则必须创建显示ALV输出所需要的列对象。
对于列对象,可以进行以下设置:
● 取得某一列对象。
● 取得列对象的技术名称。
● 创建和删除某一列对象。
● 设置列标题。
● 更改某一列对象的位置。
(1)取得某一列对象
要为某一列进行必要的设置,首先必须获得该列的实例。可以根据名称针对特定的列对象进行设置或一次获得所有的列对象,然后一个一个处理。在这两种情况下,都可以使用接口类IF_SALV_WD_COLUMN_SETTINGS(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-9。
表 6-9
2)取得列对象的技术名称
使用的类CL_SALV_WD_COLUMN得到当前列的实例的名称,见表6-10
表 6-10
(3)创建和删除某一列对象
如果取得ALV配置模型时,所指定的系统没有生成列对象,则需要创建应用程序进行ALV数据显示所需的列对象。
列对象存在的所有列显示在一个列集中。如果不希望某一列出现在用户的列集中,则必须删除相应的列对象。
注:当创建一个列对象时,需要输入它的技术名称。该名称必须与应用程序Context节点中的属性的名称一致。
要创建或删除列对象,可使用接口类IF_SALV_WD_COLUMN_SETTINGS(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-11。
表 6-11
6.2.3.1列标题
默认情况下,ALV输出中的每一列中有一列标题。不必因此必须首先创建相应的列对象可以多个列用一个标题)。
可以更改列标题。更改时可以设置以下组件:文本、图形、工具提示。
可以为列标题进行如下设置:
● 创建、取得、删除列对象的列标题。
● 指定列标题的文字。
● 指定列标题中的图形路径。
● 在列标题中指定图形位置。
● 指定列标题文字的工具提示。
(1)关于标准列标题的信息
标准列标题包含文字内容。所使用的文字依赖于Context节点的属性。
1)如果属性没有DDIC引用,默认情况下,系统使用属性的技术名称作为列标题。
2)如果属性有一个DDIC引用,系统分配的列标题如下:
● 如果已定义DDIC数据元素,则系统采用DDIC数据元素的短文本字段标签作为列
标题。
● 如果没有被定义字段标签,则系统采用DDIC数据元素的技术名称作为列标题。
(2)创建、取得、删除列对象的列标题
ALV输出中的列的列标题是类CL_SALV_WD_COLUMN_HEADER的实例。列标题对象可以存在于每一列对象中。
要取得、创建或删除列标题对象,可以使用类CL_SALV_WD_COLUMN中的方法,见表6-12。
表 6-12
(3)指定列标题的文字
指定要显示的列标题的文本,可有以下几种方法:
1)输入用户定义的文本。
2)输入一个单独的DDIC数据元素被用来作为列标题的字段标签。
对于和DDIC关系,首先以DDIC的数据元素作为切入点,返回列标题的文本。为此,需要使用方法SET_PROP_DDIC_BINDING_ELEMENT,完成以下工作:
1)列标题或工具提示。DDIC的文本说明是用来作为列标题的。
2)DDIC数据元素的名称。默认情况下,使用DDIC数据元素的短文本。还可以使用DDIC数据元素的heading文本,medium文本或长文本为此,需要使用方法SET_PROP_DDIC_ BINDING_FIELD。(www.daowen.com)
注:如果输入用户定义的文本作为列标题,则必须使用该方法显式地关闭与DDIC的关系。
要指定列标题的文本,可以使用类CL_SALV_WD_COLUMN_HEADER中的方法,见表6-13。
表 6-13
(4)列标题换行
默认情况下,系统在列标题中不添加换行符。因此,列的宽度由列标题中的文本的长度决定。在列标题中,程序员可以指定换行符。如果列标题包含的字符允许换行(如空格或连字符)或者列不够宽,系统可以把文字拆成多行。要做到这一点,可以使用类CL_SALV_WD_ COLUMN_HEADER的方法,见表6-14。
表 6-14
(5)指定列标题中的图形路径
可以在列标题中显示任何图形,只要该图形兼容Web Dynpro环境。要指定图形文件的路径或ID,可以使用类CL_SALV_WD_COLUMN_HEADER方法,见表6-15。
表 6-15
(6)在列标题中指定图形位置
在列标题中可以选择是否将图形显示在列标题的文本之前或之后。要做到这一点,可以使用类CL_SALV_WD_COLUMN_HEADER中的方法,见表6-16。
表 6-16
(7)指定列标题文字的工具提示
当用户把光标移到列标题时,列标题显示工具提示。
指定要显示的提示文字有以下几种方式:
● 可以指定任何文字。
● 可以输入一个单独的DDIC数据元素的字段标签用来作为工具提示。
注:除了方法之外,设置标题工具提示与DDIC之间的关系一样,同样可以利用DDIC数据元素的短、中、长及标题标签文本作为工具提示文本。
要指定提示的文本,使用类CL_SALV_WD_COLUMN_HEADER中的方法,见表6-17。
表 6-17
6.2.3.2列的位置
默认情况下,所有列的排序与应用程序的Context节点中的属性顺序相同。程序员可以通过以下方式更改列的顺序:通过改变位置号码、固定列。也可以指定是否允许用户来固定列
(1)改变位置号码
系统自动分配给每一列一个位置编号。可以通过改变这个位置编号更改位置的列。这里的位置编号不是唯一的。
注:位置编号为0的列在最左边。这意味着,如果要把某一列放到左侧,则必须给一个比其他列较高的位置编号。
也可以使用负数的位置编号。这意味着,给定某一列适当的位置,不改变所有其他列的0的位置编号。
要改变列的位置编号,可以使用类CL_SALV_WD_COLUMN中的方法,见表6-18。
表 6-18
(2)固定列
可以将重要列固定。这具有以下效果:
● 将列放在ALV输出的边缘。
● 滚动侧身的水平滚动条列可以不再被移动。
一列固定时,可以在ALV输出中指定该列是否是被固定到的左手侧或右手侧。
在这种方式中,最多可以创建以下3个区块的列:列固定到左,列是不固定的,列固定到右。
还可以更改一列的位置编号,以固定其位置。这使程序员可以根据自己的位置编号排列所有列块。
要固定某一列,可以使用类CL_SALV_WD_COLUMN中的方法,见表6-19。
表 6-19
(3)允许列固定
可以指定是否允许用户固定个别列。指定这些列分别固定到右边缘或左边缘。在ALV输出页面中单击“设置”按钮,在弹出对话框中,用户可以指定固定列的数量。
为了让列可以固定,可以使用接口类IF_SALV_WD_STD_FUNCTIONS(实现类CL_ SALV_WD_TABLE)的方法,见表6-20。
表 6-20
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。