with this lnTrueRow = .grdMatrix.activerow lnTrueCol = .grdMatrix.activecolumn try lnInvent_id = .a_Invent_id(m.lnTrueRow, m.lnTrueCol) CATCH TO loError oAppObj.Write_log("Encountered an error: " + loError.Message + CHR(13) + CHR(10) + ; "in MatrixGrid DblClick method on the line " + CHR(13) + CHR(10) + ; "lnInvent_id = .a_Invent_id(m.lnTrueRow, m.lnTrueCol)" + CHR(13) + CHR(10) + ; "m.lnTrueRow = " + TRANSFORM(m.lnTrueRow) + " m.lnTrueCol = " + TRANSFORM(m.lnTrueCol), PROGRAM(), "3") lnInvent_id = 0 endtryWhat I found is that under certain scenario the lnTrueRow is reported as 2 although the grid has only one row of data. I am wondering what is the other more reliable way to figure out the index (row and column) of the cell that initiated double click?