For automating the Infragistics grid, Ranorex uses the so called MSAA technology, a common interface for controls that the control provider needs to implement. Unfortunately, the performance of the Infragistics grid implementation of that MSAA interface is very slow. In order to search for the specified row, Ranorex needs to enumerates that rows at least once (it does not enumerate the cells!) and that may take some seconds.
However, you can speed up the following operations on the rows by doing some optimization: First, you can make the row a "Rooted Folder" in your repository. That way the element will be cached for the following operations.
The second option is to wrap your code into a
CacheSessionContext:
Code: Select all
using (new CacheSessionContext())
{
repo.Form.TableTable.RowBand_0_row_8.MoveTo("8;10");
Mouse.ButtonDown(MouseButtons.Left);
repo.Form.TableTable.RowBand_0_row_8.MoveTo("11;52");
Mouse.ButtonUp(MouseButtons.Left);
...
}
This way all children and attributes will be cached from the first access on, consequently the rows will only be enumerated once and after that every operation should work really quickly. Remember, though, that changes made to the grid will not be reflected in the element attributes, i.e. if you change the text of a cell, the
Text attribute of that cell might still have the cached value (if that attribute has been retrieved before).
Regards,
Alex
Ranorex Support Team