前言
为了方便从SAP GridView中读取数据,封装了独立于具体GridView数据的读取方法。
代码实现
class SapGuiGridView:
"""
SAP中GridView组件数据的表示对象类。
用于从SAP的GridView中读取指定的数据。
"""
@staticmethod
def get_data(session, _id, columns, handler=None):
"""
读取查询到的表格数据。
:param session: SAP回话Session
:param _id: SAP组件ID。
:param columns: 列名称
:param handler: 过滤函数
"""
rows = []
try:
session.findById(_id)
except Exception as _:
# 无数据,直接返回
return rows
grid_view = session.findById(_id)
row_count = grid_view.RowCount
row_number = 0
page_size = grid_view.VisibleRowCount
while True:
for i in range(page_size):
row = [grid_view.GetCellValue(row_number, column) for column in columns]
row_number += 1
# print(row_number, row)
tmp = handler(row) if handler else row
if tmp:
# print(row_number, tmp)
rows.append(tmp)
else:
# print('Delete', row_number)
pass
if row_number >= row_count:
break
if row_number >= row_count:
break
elif row_number + page_size < row_count:
grid_view.firstVisibleRow = row_number
else:
grid_view.firstVisibleRow = row_count - page_size
return rows
总结
该方法为SAP操作各个GridView数据提供了便利。
仅供参考,如有帮助不胜荣幸,如需转载请注明出处。
请关注、点赞、收藏。
本文介绍了如何封装独立的代码来方便地从SAP GridView中读取数据,提供了一种SAP操作GridView的通用方法,适用于各种数据读取场景。
2450

被折叠的 条评论
为什么被折叠?



