LPARAMETERS tcControlSource, tcTagName ** If memo fields are used (e.g. SUBSTR(v_source.memofield,1, 50)) ** strip the string function IF AT('(',tcControlSource) > 0 THEN tcControlSource = RIGHT(tcControlSource,LEN(tcControlSource)-AT('(',tcControlSource)) tcControlSource = LEFT(tcControlSource,AT(',',tcControlSource)-1) ENDIF IF PCOUNT() < 2 THEN DODEFAULT(tcControlSource) ELSE DODEFAULT(tcControlSource, tcTagName) ENDIFSince a lot of forms in the framework use this grid, a lot of subclassing is involved.