locked
CRM 2013 - Multi-Line / Memo Text fields do not honour the form "Row Layout - Number of Rows" settings of the form designer RRS feed

  • Question

  • For memo/multi-line text fields, in the form designer there is a "Row Layout - Number of Rows" setting to control the amount of screen space occupied. In CRM 2011 this was the maximum number of rows displayed. In CRM 2013 this seems to be the minimum number of rows to display. If the user enters more text, then the field expands to show all the text & no scroll bars appear. The additional setting "Automatically expand to use the available space" is OFF in both cases.

    So if you have a memo field which allows 200,000 characters of text & it is all filled, CRM 2013 will display it all! So a huge amount of scrolling to get to subsequent fields.

    Also, if you put a multi-line field in a multi-column form layout, the subsequent rows will get pushed downwards when a user enters more text, even though the form designer says don't display more than X rows!

    I have raised this on MS Connect. MS had the cheek to say it is working as designed though the docs say otherwise & they have not stated this has changed from CRM2011.

    It wouldn't be so bad if there was a supported work around, but there isn't. I don't understand either why MS removed this useful feature.


    • Edited by Caratacus Monday, July 28, 2014 9:27 AM
    Monday, July 28, 2014 9:27 AM

All replies

  • Hi Caractus

    It isn't a supported solution I don't think (however, this is following the same format as I was using in CRM 4 and it has carried through the versions without any issues.)

    However, you can make it stay the size it is supposed to be and scroll when not activated by the below.

    Our field was called caltech_comments.

    OnLoad

    var fn1 = "caltech_comments";
    var r1 = document.getElementById(fn1).parentNode.parentNode.rowSpan * 24;
    var r2 = r1 + "px";
    document.getElementById(fn1).style.maxHeight = r2;
    document.getElementById(fn1).style.overflow = "auto";

    OnChange; pass the name of the field as a string through

    function Commentslock(fn1)
    {
    var r1 = document.getElementById(fn1).parentNode.parentNode.rowSpan * 24;
    var r2 = r1 + "px";
    document.getElementById(fn1).style.maxHeight = r2;
    document.getElementById(fn1).style.overflow = "auto";
    var fn2 = fn1 + "_i";
    if (typeof document.getElementById(fn2) != "undefined") {document.getElementById(fn2).parentNode.style.overflow = "hidden";}
    }

    The one downside I've noticed is that there will be 2 vertical scrollbars in the multiline field until it has been changed. This doesn't affect us as most of our multiline fields are read only and added to via input from a single line text field. The second scrollbar is not visible unless you scroll horizontally however.

    Thursday, July 7, 2016 10:22 AM