注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

XINBO'S SAP BLOG

你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经

 
 
 

日志

 
 

ALV参考文档(VII)  

2009-05-22 14:37:10|  分类: ALV |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
取出和设置滚动条状态
有一对get,set方法用来得到和设置滚动条状态。
Get_scroll_info_via_id:这个方法用来得到滚动条状态。他有三个输出参数,es_col_info输出最左边的字段名,es_row_no输出最顶端的行号,es_row_info已经不再使用。
Set_scroll_info_via_id:这个方法用来设置滚动条的状态。他的参数和上面的一样。
和选择一样当进行屏幕切换时,应该在切换之前通过get方法存储滚动条状态信息,切换之后通过set方法设置滚动条状态。
颜色设置
可以在ALV中为某行,某列以及某个单元格设置颜色。
为整列设置颜色
若想为某列设置颜色,你可以使用field catalog的emphasize字段。只要在field catalog内表中为该列行的emphasize字段设置颜色码就行。
颜色码的结构如下:

                         

Cxyz
color
1/0:intensified on/off
1/0:inverse on/off

x
Color
Intended for
1
Gray-blue
headers
2
Light gray
List bodies
3
yellow
totals
4
Blue-green
Key columns
5
green
Positive threshold value
6
red
Negative threshold value
7
orange
Control levels
Field catalog内表中的key setting会覆盖这里的颜色设置。所以如果想甚至与key color不一样的颜色,就要把field catalog中的key字段设置为space。然而如果是通过功能模块自动产生的field catalog那么就应该注意key fields是自动设置的。
为整行设置颜色
为整行设置颜色有点儿复杂,为了为一行设置颜色,需要在要显示的内表中增加一个字段,这个字段应该是长度为4的字符型。所以需要修改我们显示内表的定义:
*---- internal table holding list data
DATA BEGIN OF gt_list OCCURS 0.
INCLUDE STRUCTURE SFLIGHT.
DATA rowcolor(4) TYPE c.
DATA END OF gt_list.
很明显你需要把颜色代码填充到这个字段。它的格式必须跟上面所描述的一样。不过ALV怎么能知道他是颜色代码字段。你可以通过layout structure中的INFO_FNAME字段告诉alv颜色代码字段的名字。
Eg:
   Ps_layout-info_fname = ‘ROWCOLOR’.
可以在运行的任何时候设置这个字段。然而按照屏幕的逻辑,只有在对ALV进行刷新的时候这种设置才能有效。你还可以使用下面介绍的部分设置整行的颜色,不过这个方法的效率才是最高的。
设置单元格的颜色
这个过程跟设置整行的颜色的过程没什么区别。不过由于具体的单元格的位置需要两个参数才能被确认,所以过程稍有不同。比较复杂的所在主要是需要在要显示的内表中插入个表类型的字段。这将是我们要显示的表的结构变为DEEP。不过alv grid还可以处理它。
这个表的类型必须是LVC_T_SCOL。如果想设置整个行的颜色,这个内嵌的表中必须有一行fname为空的行。颜色值在字段col中设置,0或1在字段int中设置intensified,在字段inv中设置inverse。
如果想设置某个单元格的颜色,就在这个内嵌表中插入一行并且在fname中填入要设置颜色的那个字段。设置整个列的颜色的方法很明显便是在要显示的内表中的每一行的内嵌表中插入包含这个字段的一行。
同样key field的颜色将会覆盖你的设置。这也正是在这个内嵌表中有个字段‘nokeycol’.通过这个字段可以避免颜色设置被key field的颜色设置覆盖。
同时我们还要告诉alv grid那个内表包含颜色数据。Layout structure的ctab_fname字段便是作这个用的。
*-----internal table holding list data
DATA BEGIN OF gt_list OCCURS 0.
INCLUDE STRUCTURE SFLIGHT.
DATA rowcolor(4) TYPE c.
DATA cellcolors TYPE lvc_t_scol.
DATA END OFgt_list.
DATA: ls_cellcolor TYPE lvc_s_scol.
 
READ TABLE gt_list INDEX 5.
Ls_cellcolor-fname = ‘SEATSOCC’.
Ls_cellcolor-color-col = ‘7’.
Ls_cellcolor-color-int = ‘1’.
APPEND ls_cellcolor TO gt_list-cellcolors.
MODIFY gt_list INDEX 5.
在颜色设置中也有优先级顺序,它们是cell setting row setting和column setting。
  评论这张
 
阅读(266)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017