ALV GRID的参考文档(VI)
2007-12-04 11:19
211 查看
设置排序条件
可以为要显示的数据设置排序条件。可以把排序规则插入到结构类型为‘LVC_T_SORT’的内表中。如果想对显示的数据进行初始排序,就把它传给方法‘SET_TABLE_FOR_FIRST_DISPLAY’的参数IT_SORT.
FORM prepare_sort_table CHANGING pt_sort TYPE lvc_t_sort.
DATA: ls_sort TYPE lvc_s_sort.
Ls_sort-spos = ‘1’.
Ls_sort-fieldname = ‘CARRID’.
Ls_sort-up = ‘X’.
Ls_sort-down = space.
APPEND ls_sort TO pt_sort.
Ls_sort-spos = ‘2’.
Ls_sort-fieldname = ‘SEATSOCC’.
Ls_sort-up = space.
Ls_sort-down = ‘X’.
APPEND ls_sort TO pt_sort.
.
ENDFORM..
这里有两点需要注意:首先是如果在排序表中存在的字段在fieldcat表中不存在,就会出现dump,另外就是被排序的字段缺省情况下相同的值将会被合并,不过你可以设置layout结构的no_merging来避免这种情况。如果你只是想指定的某些列不被合并你可以设置fieldcat表中该字段行的no_merging。
可以通过方法:‘get_sort_criteria’,’set_sort_criteria’来动态设置排序准则。
筛选
跟排序规则差不多,可以通过填充类型为‘LVC_T_FILT’的表来实现筛选,插入这个表的方法跟插入ranges变量差不多。
FORM prepare_filter_table CHANGING pt_filt TYPE lvc_t_filt.
DATA: ls_filt TYPE lvc_s_filt.
Ls_filt-fieldname = ‘FLDATE’.
Ls_filt-sign = ‘E’.
Ls_filt-option = ‘BT’.
Ls_filt-low = ‘20030101’.
Ls_filt-high = ‘20031231’.
APPEND ls_filt TO pt_filt.
ENDFORM.
你可以通过方法get_filter_criteria和set_filter_criteria来动态的设置筛选。
选择功能
选择某一行,某一列或者某一格是经常需要的功能。通过layout structure的sel_mode字段可以设置alv grid的选择方式。下面列表列举了可选择的方式和他们的功能。
除了设置这些属性外,如果你设置了可以选择多行,那么行标志缺省情况下是可见的,可以设置NO_ROWMARK来隐藏行标志。
需要注意的一点是如果ALV GRID是可编辑的,它将会替代你在layout设置中选择的选择模式。
当进行了选择以后,重要的一点便是要知道我们要选择的是什么。可以通过以下方法来实现:
GET_SELECTED_CELLS: 这个方法通过参数‘et_cell’返回类型为LVC_T_CELL的表来描述选择单元格的确切位置。Alv grid control只返回选择单元格的确切位置。如果你选择的是整行或整列那么这个方法不返回任何信息。这个方法返回的是选择单元格的行属性和列属性。
GET_SELECTED_ROWS: 对于A,C,D的选择方式,你可以选择多行。这个方法可以用来告诉你所选择的行。他有两个参数,不过参数et_index_rows已经不用,另一个参数et_row_no的类型为LVC_T_ROWID用来显示所选择行的索引信息。
GET_SELECTED_COLUMNS:跟前面的方法一样。他的输出参数et_index_columns的类型为lvc_t_col来描述所选择的列信息。
在程序中你可能需要选择某些列,行或格,你可以使用这些方法的set版本来实现与前面相反的目的。在屏幕切换之后回来到原来的屏幕,alv grid的选择信息有可能会丢掉。应该在屏幕切换之前使用get方法得到选择信息,然后在屏幕切换之后使用set方法恢复选择信息。
可以为要显示的数据设置排序条件。可以把排序规则插入到结构类型为‘LVC_T_SORT’的内表中。如果想对显示的数据进行初始排序,就把它传给方法‘SET_TABLE_FOR_FIRST_DISPLAY’的参数IT_SORT.
FORM prepare_sort_table CHANGING pt_sort TYPE lvc_t_sort.
DATA: ls_sort TYPE lvc_s_sort.
Ls_sort-spos = ‘1’.
Ls_sort-fieldname = ‘CARRID’.
Ls_sort-up = ‘X’.
Ls_sort-down = space.
APPEND ls_sort TO pt_sort.
Ls_sort-spos = ‘2’.
Ls_sort-fieldname = ‘SEATSOCC’.
Ls_sort-up = space.
Ls_sort-down = ‘X’.
APPEND ls_sort TO pt_sort.
.
ENDFORM..
这里有两点需要注意:首先是如果在排序表中存在的字段在fieldcat表中不存在,就会出现dump,另外就是被排序的字段缺省情况下相同的值将会被合并,不过你可以设置layout结构的no_merging来避免这种情况。如果你只是想指定的某些列不被合并你可以设置fieldcat表中该字段行的no_merging。
可以通过方法:‘get_sort_criteria’,’set_sort_criteria’来动态设置排序准则。
筛选
跟排序规则差不多,可以通过填充类型为‘LVC_T_FILT’的表来实现筛选,插入这个表的方法跟插入ranges变量差不多。
FORM prepare_filter_table CHANGING pt_filt TYPE lvc_t_filt.
DATA: ls_filt TYPE lvc_s_filt.
Ls_filt-fieldname = ‘FLDATE’.
Ls_filt-sign = ‘E’.
Ls_filt-option = ‘BT’.
Ls_filt-low = ‘20030101’.
Ls_filt-high = ‘20031231’.
APPEND ls_filt TO pt_filt.
ENDFORM.
你可以通过方法get_filter_criteria和set_filter_criteria来动态的设置筛选。
选择功能
选择某一行,某一列或者某一格是经常需要的功能。通过layout structure的sel_mode字段可以设置alv grid的选择方式。下面列表列举了可选择的方式和他们的功能。
Value | Mode | Possible selections | Comment |
Space | Same as ‘B’ | See ‘B’ | Default setting |
A | Column and row selection | Multiple columns Multiple rows | 用户可以通过左边的按钮来选择行 |
B | Simple selection list box | Multiple columns Multiple rows | |
C | Multiple selection List box | Multiple columns Multiple rows | |
D | Cell selection | Multiple columns Multiple rows Any cells | 用户可以通过左边的按钮来选择行 |
需要注意的一点是如果ALV GRID是可编辑的,它将会替代你在layout设置中选择的选择模式。
当进行了选择以后,重要的一点便是要知道我们要选择的是什么。可以通过以下方法来实现:
GET_SELECTED_CELLS: 这个方法通过参数‘et_cell’返回类型为LVC_T_CELL的表来描述选择单元格的确切位置。Alv grid control只返回选择单元格的确切位置。如果你选择的是整行或整列那么这个方法不返回任何信息。这个方法返回的是选择单元格的行属性和列属性。
GET_SELECTED_ROWS: 对于A,C,D的选择方式,你可以选择多行。这个方法可以用来告诉你所选择的行。他有两个参数,不过参数et_index_rows已经不用,另一个参数et_row_no的类型为LVC_T_ROWID用来显示所选择行的索引信息。
GET_SELECTED_COLUMNS:跟前面的方法一样。他的输出参数et_index_columns的类型为lvc_t_col来描述所选择的列信息。
在程序中你可能需要选择某些列,行或格,你可以使用这些方法的set版本来实现与前面相反的目的。在屏幕切换之后回来到原来的屏幕,alv grid的选择信息有可能会丢掉。应该在屏幕切换之前使用get方法得到选择信息,然后在屏幕切换之后使用set方法恢复选择信息。
相关文章推荐
- ALV GRID参考文档 ( 13 ) - ALV控件中的内容可编辑
- ALV GRID的参考文档 ( 6 ) - 设置排序条件
- ALV GRID的参考文档(IV)
- ALV GRID的参考文档(V)
- 第6章 Spring 4.0增强和新功能 VI -- Spring4.3.8参考文档中文版
- ALV GRID参考文档 ( 8 ) - 插入超级链接
- ALV GRID参考文档(II)
- ALV GRID的参考文档(九)
- ALV GRID 参考文档 ( 15 ) - 单元输入事件
- ALV GRID参考文档(III)
- ALV GRID参考文档 ( 3 ) - 建立field catalog
- ALV GRID参考文档 ( 11 ) -表单中显示按钮
- ALV GRID的参考文档 ( 4 ) - 显示格式的调整
- Tinify Java API中文参考文档
- 通过XmlDocument读写Xml文档参考地址
- C++coder必读---最详细Autoconf和automake说明(中英文翻译参考文档)
- spring-batch3.0参考文档中文版
- 】phpMyAdmin中导入mysql数据库文件时出错:您可能正在上传很大的文件,请参考文档来寻找解决办法
- Qt for Android 安装参考文档
- 【Ext JS】extjs下载地址和在线官方参考文档地址