阅读该篇文章之前,可先阅读下述资料
[Dialog屏幕开发] 屏幕绘制(Table Control控件)https://blog.csdn.net/Hudas/article/details/145314623?spm=1001.2014.3001.5501
https://blog.csdn.net/Hudas/article/details/145314623?spm=1001.2014.3001.5501上篇文章我们的屏幕已实现了如下功能

我们已经设置了Table Control控件,接下来我们需要新增一些按钮对Table Control 列的数据进行操作
① 【编辑】按钮新增
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_set_edit子例程代码如下所示

poitem-cols是一个内表
保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
编辑按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息,列表中的字段值都是不可输入的

点击
编辑按钮,"数量"字段和"库存地点"字段都变为可编辑状态

再次点击
编辑按钮,恢复原来的不可编辑状态
② 【插入】按钮新增
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_add_line子例程代码如下所示

上述子例程的主要功能是插入空行,插入行的位置取决于当前光标的位置
如果光标不在表格控件区域内或者光标所在行号大于表格的总行数,那么新行将插入到第一行,否则新行将插入到光标所在行的位置
插入新行后,会更新poitem-lines变量来记录表格的新行数
保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
插入按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息

直接点击
插入按钮,会在表格的第一行添加空行

选择行项目为20的数据行,再点击
插入按钮,会在当前选择的数据行位置添加空行

③ 【删除】按钮新增
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_del_line子例程代码如下所示

保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
删除按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息

选择需要删除的数据行,这里我们删除行项目值为10的数据行,点击
删除按钮

④ 【全选】按钮新建
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_mark_all子例程代码如下所示

保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
全选按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息

点击
全选按钮,采购订单明细中的数据行都会被选中

⑤【取消全选】按钮新建
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_demark_all子例程代码如下所示

保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
取消全选按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息,全选所有数据行信息

点击
取消全选按钮,采购订单明细中的所有选中的数据行都会被取消

⑥ 【升序】按钮新增
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_sort_up子例程代码如下所示

保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
升序按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息,选中"数量"列中的数据

点击
升序按钮,完成排序操作

⑦ 【降序】按钮新增
GUI状态(9001_STATUS)添加图标

保存并激活该GUI状态
在INCLUDE文件ZDIALOG_GZ437_F01中添加如下代码

frm_sort_down子例程代码如下所示

保存并激活主程序, 生成的页面如下所示
我们可以看到屏幕界面已经生成了
降序按钮
输入采购凭证,点击"显示订单信息"按钮,自动带出采购订单明细信息,选中"数量"列中的数据

点击
降序按钮,完成排序操作
