GetColumnposition()

2020-08-21 02:48发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我如何使用Getcolumnposition()? 我是GUI脚本的新手,它在下面的第二行显示错误。

设置GRID = session.findById(" wnd [0]/usr/ssubITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE")

MsgBox GRID.GetColumnPosition(" ctxtACGL_ITEM-HKONT")

谢谢

Rekha

(39.5 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我如何使用Getcolumnposition()? 我是GUI脚本的新手,它在下面的第二行显示错误。

设置GRID = session.findById(" wnd [0]/usr/ssubITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE")

MsgBox GRID.GetColumnPosition(" ctxtACGL_ITEM-HKONT")

谢谢

Rekha

(39.5 kB)
付费偷看设置
发送
4条回答
灬番茄
1楼 · 2020-08-21 03:20.采纳回答

对于GuiTableControls,我使用了以下内容:

 tGuiTableControl ="表名"

 设置为tobj = Session.FindById(tGuiTableControl)
 设置tObjChild = tobj.Children
 '找出定义了多少列。
 tDataColumns = tobj.Columns.Count
 '检查可见行
 tVisiblerows = tobj.VisibleRowCount

 '循环所有的东西

         对于tObjRow = tObjRow + notInitialLoop到toRow
             对于tObjCol = 1 Tobj.Columns.Count
                     如果tDataLoopRow> UBound(inp.DataBodyRange.Value,1)然后
                         tDataFinished =" X"
                         退出做
                     万一
                     如果tObjChild.Item(tObjItemNum + 0).Changeable = False,则
                         '可见列,不希望输入数据。
                     ElseIf tObjChild.Item(tObjItemNum + 0).Type =" GuiCTextField"或tObjChild.Item(tObjItemNum + 0).Type =" GuiTextField"然后
                         如果IsDate(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn))= True和Len(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn))> 5然后
                             如果inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)<=#12/31/1899#那么由于Lotus 1-2-3,'excel过去的日期很奇怪
                                 tObjChild.Item(tObjItemNum + 0).text = DateConvert(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)+ 1,"。")
                             其他:
                                 tObjChild.Item(tObjItemNum + 0).text = DateConvert(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn),"。")
                             万一
                         其他:
                             tObjChild.Item(tObjItemNum + 0).text = inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)
                         万一
                     ElseIf tObjChild.Item(tObjItemNum + 0).Type =" GuiComboBox"然后
                         tObjChild.Item(tObjItemNum + 0).Key = inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)
                        
                     ElseIf tObjChild.Item(tObjItemNum + 0).Type =" GuiCheckBox"然后
                         如果inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)=""然后
                             tObjChild.Item(tObjItemNum + 0).Selected = False
                         其他:
                             tObjChild.Item(tObjItemNum + 0).Selected = True
                         万一
                     其他:
                         '其他条件
                     万一
                
                 如果inp.DataBodyRange(tDataLoopRow,1)=""然后
                     tDataFinished =" X"
                     退出做
                 万一
               
                 tObjItemNum = tObjItemNum + tVisiblerows
                 tDataLoopColumn = tDataLoopColumn + 1
             下一个tObjCol

             tDataLoopRow = tDataLoopRow + 1
             tDataLoopColumn = 1
             tObjItemNum = tObjRow
         下一个tObjRow
 

是所有伪代码,但希望这可以帮助您指出正确的方向。 我一直打算整理一下并在很长一段时间内将其进一步推广,但它还不足以保证进行优化;)

愤怒的猪头君
2楼-- · 2020-08-21 03:22

您指的是tblSAPLFSKBTABLE," tbl"用于 一个GuiTableControl对象。

在GuiTableControl中没有方法GetColumnPosition。 我认为您必须使用Columns属性来获取表控件的所有列的列表。

注意:GetColumnPosition方法仅适用于GuiGridView对象。

95年老男孩
3楼-- · 2020-08-21 03:33
< p>谢谢桑德拉。

我可以获取列名,但是我该如何获得职位? 对于下面的内容,我需要输入行的位置和行位置以输入 value.im ,以使其动态化,从而使其正常工作 布局是否有变化。

session.findById(wnd [0]/usr/ssubITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/ctxtACGL_ITEM-HKONT [0,1])。Text =" 400000"

梦想连接
4楼-- · 2020-08-21 03:45

谢谢丹尼尔。 有帮助。 它给了我一个想法。

一周热门 更多>