2015-10-26 46 views
0

我正在爲Infragistics UltraWinGrid的UI自動化部分工作。Infragistics UltraWinGrid自動化使用C#

使用「檢查」工具,我能夠看到網格呈現爲窗格,但我無法將其轉換爲UltraWinGrid。

基本上,我想讀的使用C#.NET 4.0

+0

是否UltraWinGrid控制支持UIA網格模式?如果是這樣,您可以通過該模式調用GetItem()以獲取特定行和列處的項目。 Inspect SDK工具將向您顯示控件是否聲明支持網格模式。因此,將Inspect指向該控件,並查看該控件屬性列表中的IsGridPatternAvailable屬性是true還是false。 –

回答

0

從UltaWinGrid行和單元格值試試這個

  AutomationElement mTable = mElement; 
      AutomationElementCollection elementCollection = null; 
      elementCollection = 
      mTable.FindAll(TreeScope.Children, Condition.TrueCondition); 
      int mCount = elementCollection.Count; 
      for (int i = 0; i <= elementCollection.Count - 1; i++) 
      { 
       if (elementCollection[i].Current.Name.ToUpper().IndexOf("ROW") >= 0) 
       { 
        AutomationElement mDest = Share.GetElementByNameFromChild(elementCollection[i], ColumnName); 
        var pattern = ((LegacyIAccessiblePattern)mDest.GetCurrentPattern(LegacyIAccessiblePattern.Pattern)); 
        String state = pattern.Current.Value; 
        if (Share.CompareString(state, SearchString)) 
        { 
         watch.Stop(); 
         var elapsedMs = watch.Elapsed.TotalSeconds; 
         FileAdapter.WriteLog("Search value in Table col " + ColumnName + " and search string: " + SearchString + "," + true.ToString() + "," + elapsedMs); 
         Share.wait(Utility.delayTime()); 
         return true; 
        } 
       } 
      } 
+0

複製到文字板並參見 – LovelyI

+0

嗨,感謝您的回覆。 請注意以下幾點。 1.網格的自動化元素類型是「窗格」(不是表格)。 2.使用Inspect工具,我可以獲得Grid中每一行的AutomationID。 3.我無法讀取整行的文本。 4.每行也被渲染爲「Pane」元素並具有AutomationID。 5.在上面的代碼中,您使用了「共享」,我不確定它來自哪裏。 6.同樣來自「LegacyIAccessiblePattern」來自何處。 要求您提供更多相同的細節,以便我可以嘗試我的結局。 感謝您的時間和幫助。 –

相關問題