上篇讲了Table Control的基本功能,现在继续讨论它在其他方面的一些设置。
4,滚动到某行某列
如果我们希望,屏幕显示后展示在用户面前的最上端或者左端是表内容中的某行某列,则应该修改变量top_line和left_col的值。一般可在PBO的tc_0100_change_tc_attr里设置:
tc_0100-top_line = 3.
tc_0100-left_col = 3.
后面left_col语句起作用的前提是,内表的字段较多,导致表控件宽度不够,确有左右滚动的必要。
5,获取鼠标所在位置
这里要用GET CURSOR语句,比如
DATA: l_line TYPE i,
l_field TYPE screen-name.
GET CURSOR FIELD l_field LINE l_line.
这样就取得了鼠标在内表的所在行以及字段名。不过要注意的是,如果希望映射到itab,那可别忘了top_line。正确读取鼠标所在条目对应于内表哪行数据的语句是:
GET CURSOR LINE l_line.
l_line = l_line + tc_0100-top_line - 1.
READ TABLE itab INTO wa INDEX l_line.
与此类似,希望鼠标定位于内表中某单元格的语句是SET CURSOR FIELD l_field LINE l_line.
6,设置固定列,设置行选择
有时我们希望Table Control的左边几列(一般是关键字段),它们在屏幕上是固定的,可以方便用户的阅读。要怎么设置呢?首先我们肯定会想到字段的属性中去找,可惜没找到。
其实这是Table Control本身的一个属性,我们只能定义最左边的某些列不可滚动。在Screen Layout中,双击Table Control的右上角,弹出“表控制”属性,即可设置:
这里也可以看到我们对表控件的行选择进行了设置,允许多重选择,同时选中与否的信息将更新到wa的mark字段,mark一般定义成c(1)。
7,如何隐藏某列
隐藏屏幕字段,我们首先想到的肯定是LOOP AT SCREEN,设置ACTIVE或INVISIBLE的字段值。可惜测试后,发现行不通。正确的做法是,通过编程修改tabctrl-cols下的某字段可见长度。
DATA: l_hide TYPE c,
ls_col LIKE LINE OF tc_0100-cols.
LOOP AT tc_0100-cols INTO ls_col WHERE screen-name = 'WA-FIELD2'.
IF l_hide IS INITIAL.
ls_col-vislength = 6.
ELSE.
ls_col-vislength = 0.
ENDIF.
MODIFY tc_0100-cols FROM ls_col.
ENDLOOP.
- 大小: 7 KB
分享到:
相关推荐
### ABAP中的Table_Control编程详解 #### 一、Table Control概念及作用 在SAP的ABAP编程环境中,Table Control(简称TC)是一种极其重要的屏幕控件,被广泛应用于多种场景下,尤其适用于处理和展示多行数据。通过...
ABAP中的Table Control编程 Table Control是SAP系统中Screen中的一个常用控件,可以实现对多行数据的编辑。它是一组屏幕元素在Screen上的重复出现,这与普通屏幕元素的区别。Table Control的每一行是跟工作区域wa...
在ABAP编程中,表控制(Table Control)是一种强大的用户界面元素,用于显示和编辑数据库或内存中的数据。本章将深入探讨如何设计和使用表控制,包括通过向导创建和非向导式方法,以及如何实现数据表的维护和内表...
01_ABAP开发环境和总体介绍.pdf 02_创建HELLO WORLD程序.pdf 03_ABAP语法示例.pdf 04_数据字典和数据表的读取.pdf 05_标准列表和选择屏幕.pdf 06_实战屏幕SCREEN设计.pdf ...14_从实例学SAP ABAP编程13-19章.pdf
在SAP系统中,ABAP(Advanced Business Application Programming)是一种重要的编程语言,用于开发企业级的应用程序。本书《实战SAP程序开发——从实例学SAP ABAP编程》的前12章,深入浅出地介绍了SAP ABAP的基础...
Table Control是ABAP中的表格显示控件,用于动态显示数据。学习如何创建和配置Table Control,包括列定义、行处理、事件处理等,以及如何与后台数据进行交互。 5. **屏幕SCREEN设计.pdf**: 屏幕设计是SAP UI的...
在SAP系统中,表控件(Table Control)是一种用于在用户界面中展示数据的高级技术,它在ABAP编程环境中扮演着重要角色。表控件不仅提供了类似于桌面应用程序的表格视图,还具备一系列增强的功能,使得数据的呈现更加...
2. **S_TABLE_CONTROL.txt**:这可能是一个关于ABAP中的表格控制(Table Control)的示例,用于显示和编辑表格数据。表格控制允许用户在GUI上与表格交互,包括排序、过滤和选择。学习点可能包括:使用TABLE CONTROL...
### SAP_ABAP编程知识点概述 #### 一、ABAP开发环境 ABAP(Advanced Business Application Programming),即高级商业应用编程语言,是SAP系统的主要编程语言。本章节介绍了三种主要的ABAP开发环境: 1. **SAP正式...
深入探讨SAP ABAP中的Form编程,包括内部表处理、逻辑控制和与屏幕交互,是SAP报表开发的重要部分。 10. **第十三章 程序权限设定**: 讲解如何在SAP系统中进行权限分配和安全管理,确保程序符合企业的安全策略,...
这六个章节围绕SAP系统中ABAP编程的核心技术展开,包括表控制、Tree Control、Smart Forms、ALV控件以及Form设计和数据表查找等关键点。以下是各章节详细的知识点: 第七章:表控制(Table Control)设计 1. 表控制...
SAP ABAP(Advanced Business Application Programming)是SAP R/3系统中的主要开发工具,它是一种第四代编程语言(4GL),与Visual Basic和JAVA有相似之处,但与传统的C、PASCAL等第三代语言在结构上有显著差异。...
在IT开发领域,特别是在ABAP(Advanced Business Application Programming)环境下进行SAP GUI应用开发时,表格控件(Table Control)是一种非常重要的用户界面元素。它允许开发者以结构化的方式展示数据,并支持...
随着面向对象编程在ABAP中的引入,ALV也得到了增强,支持更高级的功能和更简洁的代码编写方式。本文档旨在全面介绍ALV面向对象的写法,为读者提供一个深入理解ABAP面向对象方法的基础。 #### 重要概念与术语 1. **...
ABAP(Advanced Business Application Programming)是SAP公司开发的一种编程语言,主要用于开发SAP系统中的业务应用程序。在“实战ABAP程序开发”这个主题中,我们可以深入探讨几个关键的知识点: 1. **第一章 ...
2. **S_TABLE_CONTROL.txt**:表控制是ABAP中的一个重要概念,用于在用户界面中显示和编辑表格数据,包括排序、过滤和分页等功能。 3. **S_GUI_CONTROLS.txt**:GUI(图形用户界面)控件是指在SAP应用中显示的交互...
SAP ABAP(Advanced Business Application Programming)是SAP系统中的一种编程语言,用于开发业务应用程序。以下是对文档中提到的知识点的详细解释: 1. **系统字段篇** - `SY-SUBRC`:执行语句后的返回值,0...
DIALOG 是 ABAP 中一个重要的概念,包括 DIALOG 中的几个事件、TABLE CONTROL 中实现选中一行或多行的效果、DIALOG 开发的常用控件等。DIALOG 是 ABAP 中一个基本概念,用于控制用户界面。 BDC BDC 是 ABAP 中一个...
2. "第七章 表控制Table Control设计.pdf":表控制用于在GUI上显示动态数据表,学习者将学习如何创建和定制这些控制,以适应不同的数据展示需求。 3. "第十章 实战Smart Forms设计.pdf":SMARTFORMS是创建复杂业务...