Recently, I came across a problem in QTP automation – failing to identify controls within DataGrid. The problem was occurring with one of our legacy application, using Flex SDK 3.5 (yes, its truly legacy). The issue was almost driving nuts, as DataGrid in quite a few other modules were working proplery with QTP, while one of the screen was failing in object detection.
After doing the code comparison, it was quite evident that the problematic DataGrid has inline editors/renderers, while rest of the DataGrids have custom editors/renderers. I also came across a link from adobe blogs. This stated the real problem with inline renderer and need for introducing containers inside it.
After carrying out the changes as suggested in the post and adding bit of automation code, things were back to normal. QTP was now able to identify the control.