Tip: infopath comments and newline textbox

One method for persisting data in a SharePoint environment is the use of Infopath forms. Infopath stores data in your form in XML format. I have a form which has a “comments” box where people add new comments as they progressively update the form and a “consolidate comments” box which shows all previous comments*. However, Infopath forms don’t natively support appending new data to existing data – and new comments added may blow away any previous comments.

It’s relatively trivial to enable this functionality. Assume you have your two comment boxes

comments_add – blank comment box for adding new comments
comments_display – shows all historical comments, and is bound to your “comments” field in your data connection
button_submit – submits the form to the server, will currently have rules, e.g., “submit using data connection”, “close form”

To add new comments to old comments, you need to add a rule to your button, before the data is submitted. The rule will “set a field’s value” and use the concat function to concatenate the two comments boxes together. In the value section, Insert Formula and have, e.g


concat(comments,comments2)

In this case I set the value of my local “comments” field to the value of “ows_comments” (in my data connection) + the value of my new comments box. When you submit this, your comments box will contain both values. However, you will notice that the display is not very nice. You could concat a space in between the fields, but a newline between comments would be preferable. This is not quite as simple as it sounds, however, as Infopath controls don’t seem to accept the standard newline chars (e.g., rn). There is a way, however:

1. Create a new XML file and fill it with

<?xml version "1.0" >
<linebreaks>
<newLine>&#xA;</newLine>
</linebreaks>

2. Add it as a resource and data connection to your form
3. In your Concat function, reference it:

concat(comments1, newLine,comments2)

4. Ensure your textbox is multi-line enabled (Click Textbox > Control Tools > Control Properties)

And that should work. I had screenshots of the process, but it seems an overzealous host admin has gone crazy with mod_security2 and killing anything that tries to add an equals sign to a post.

8 Comments

  1. I had to make a couple edits to the XML to get SP to accept as valid XML. This is what worked for me:

  2. Hey Guru, any luck with the richtext box?

    SPbb

    guru says:

    September 18, 2012 at 07:01

    works only for textbox multiline enabled,
    how to do for richtext box?

  3. This was super helpful and just what I was looking for, thank you!
    One thing I found was that the XML file would only work for me if the first line looks like this:

    – addition of the question mark at the end and making both quotes the same. Thanks again!

  4. Hi Matt,

    This is Rakib.
    Can you please send me the screenshots of the above post “Tip: infopath comments and newline textbox”? I am planning to do exactly the same you have suggested in the post for my organization.
    It would be of great help for me.

    Thanks for your time and effort.

    Kind Regards,
    Rakib

Leave a Reply

Your email address will not be published.


*