-1

GuiTree在我们的 SAP 系统中,我们经常通过 SAP GUI 脚本 API自动化控制。在左栏中,有一个描述。在第二列中,有一个包含工具提示的图标。

在此处输入图像描述

使用此代码,我可以读取每个节点的文本:

        /*ID is the SAPFEWSELib.GuiComponent.Id of the SAPFEWSELib.GuiTree; SAPWindow is the mainwindow 
        of SAP of type SAPFEWSELib.GuiMainWindow*/
        SAPFEWSELib.GuiTree GT = (SAPFEWSELib.GuiTree)SAPWindow.FindById(ID);
        foreach (string key in GT.GetAllNodeKeys())
        {
            System.Console.WriteLine("Key " + key + " contains " + GT.GetNodeTextByKey(key));
        }

是否也有可能访问第二列?

4

1 回答 1

0

好的,我发现了,它的GetItemText(key, "1")key是节点ID,1是第一列的列索引的方法。

如果该项目被选中,该图标有一个工具提示。

System.Collection.Generic.List<System.Collection.Generic.KeyValuePair<string, bool>> MyList = new System.Collection.Generic.List<System.Collection.Generic.KeyValuePair<string, bool>>();
string NodeText = string.Empty;
bool = TextExist = false;
SAPFEWSELib.GuiTree GT = (SAPFEWSELib.GuiTree)SAPWindow.FindById(ID);
foreach(string key in GT.GetAllNodeKeys()){
     NodeText = GT.GetItemText(key, "1"); //1 is the column index, starts with 1
     if(GT.GetItemText(key, "2").Length > 0){TextExist = true;}else{TextExist = false;}
     MyList.Add(new System.Collection.Generic.KeyValuePair(NodeText, TextExist);   
}

我希望这将有助于其他开发人员。

于 2017-07-25T12:09:14.340 回答