Okay forget everything before. Put THIS in your datagrid script: on mouseEnter lock messages wait 30 ticks unlock messages put the long id of me into tMyID put wordOffset("card", tMyID) into tFirstWord put word tFirstWord to -1 of tMyID into tThisCard put word 2 of the mouseControl into tControlNum if tControlNum is not a number then exit mouseEnter put the name of control tControlNum into tControlName if word 1 of tControlName is not "field" then exit mouseEnter put the long id of control tControlNum of tThisCard into tTarget put <list of column names> into tKeyList dgToolTip tTarget, tKeyList end mouseEnter
on mouseLeave set the tooltip of the target to empty end mouseLeave Then THIS in a backscript: on dgToolTip tTarget, tKeyList -- if the optionKey is up then -- set the tooltip of tTarget to empty -- exit dgToolTip -- end if put the dgIndex of the dgDataControl of tTarget into tIndex -- Thanks Trevor!! replace quote with empty in tTargetName put the last word of tTargetName into tLine put the dgDataOfIndex [tIndex] of tTarget into aLineData if tKeyList is empty or the shiftKey is down then put the keys of aLineData into tKeyList sort lines of tKeyList ascending replace cr with comma in tKeyList end if set the numberformat to "0000" repeat for each item tKey in tKeyList add 1 to tCounter put "field " & tCounter into tFieldName put aLineData [tKey] into aRecordData [tCounter & ". " & tKey] end repeat put arrayToText(aRecordData, "record") into tText sort lines of tText numeric ascending by word 1 of each set the tooltip of tTarget to tText end dgToolTip function arrayToText aArrayData, pFormat, pStripRecordKeys if aArrayData is not an array then put "ERROR: Data passed is not an array!" into theValue return theValue end if if pStripRecordKeys is not in "true|false" then put false into pStripRecordKeys -- sort tArrayKeys ascending -- may be an array of values put the keys of aArrayData into tArrayKeys sort lines of tArrayKeys numeric ascending put line 1 of tArrayKeys is 0 into tHasHeader -- convert single array to numeric array of arrays if line 1 of tArrayKeys is not a number then put aArrayData into aTempArray [1] put aTempArray into aArrayData put the keys of aArrayData into tArrayKeys end if switch pFormat case "record" repeat for each line tArrayKey in tArrayKeys put aArrayData [tArrayKey] into aArrayRecord put the keys of aArrayRecord into tColumnKeys repeat for each line tColumnKey in tColumnKeys put tColumnKey & ": " & aArrayRecord [tColumnKey] & cr after tValue end repeat end repeat break case "table" -- table header if not tHasHeader then put cr into tValue repeat for each line tArrayKey in tArrayKeys add 1 to tCount put aArrayData [tArrayKey] into aArrayRecord put the keys of aArrayRecord into tColumnKeys sort lines of tColumnKeys numeric ascending repeat for each line tColumnKey in tColumnKeys if pStripRecordKeys and (char 1 of tColumnKey is "@") then next repeat if tCount = 1 and not tHasHeader then put tColumnKey & tab after line 1 of tValue put aArrayRecord [tColumnKey] & tab after tValue end repeat put cr into last char of tValue end repeat break end switch return tValue end arrayToText _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode