Had a thought on this over the weekend...
Performance considerations. You could do grid.FindAll().toArray() for each text you are looking for, no matter which column they are in and add each FindAll to an array. If any of the arrays have a zero length, you can just break and say the record doesn't exist :smileysurprised: If any of your arrays now has only one item, thats your row. If not, do the same array logic to find the one rowindex that exists in all of them. All about finding the shortcuts :smileyvery-happy: Since that one text element is alredy in one of your collections, you don't need to do another find. You just go to the element in the array where the element has the columnindex you want and click the parent. Larger arrays perhaps, but definately less Finds. You could try the first post's columnindex first approach with the second approaches array only requirement, thereby having smaller arrays but with the same , smaller Find work that the second approach uses.