This project has moved. For the latest updates, please go here.

Duplicate fields for a printable form view

Mar 2, 2016 at 5:45 AM

I am testing SPEasyForms with SP 2010.

So far I am really liking it.

When using the tabbed format, I would like one tab with most of the fields on it designed for printing.

The fields are already used on the previous tabs.

Is there anyway to achieve this?

Mar 2, 2016 at 2:48 PM
Not exactly; at least not without writing some code. SPEasyForms doesn't support this at the moment, and it would be difficult to support.

You may be able to achieve something like this by adding calculated fields to the list, i.e.:

CalculatedTitle = [Title]
CalculatedBody = [Body]

and then putting the calculated fields on the print tab. Your mileage may vary depending on the type of field however. For instance I don't know if a calculated field that pulls from a rich text field will still display the data as rich text, or if it will strip the HTML tags, or if it will just show the source (i.e. with visible HTML tags). Or what does a calculated field based on a user field look like?

Mar 2, 2016 at 10:10 PM
Thanks for the fast reply.

Aww, I tried making an empty column container in a new "Print tab" exported the code then manually copied the fields into it.

Even though you can see the duplicate fields in the drag and drop editor. They won't show on the original tabs I copied them from in the preview or live test.

I guess I can go the calculated column path, and for fields that don't work simply have a workflow to copy the contents to a matching field. Little bit of a hassle though.

Next question - anyway to edit the text in the field labels?

Only spent a few hours with your system but its really an efficient way to make nice looking forms.

Mar 3, 2016 at 4:48 AM
Edited Mar 3, 2016 at 4:51 AM
So far the only way I can see to edit the labels is to:

Create a new form in SPD

It will auto gen the tables for labels and fields with code like

<td width="190px" valign="top" class="ms-formlabel">
  <H3 class="ms-standardheader">
<td width="400px" valign="top" class="ms-formbody">
  <SharePoint:FormField runat="server" id="ff10{$Pos}" ControlMode="New" FieldName="ro_department" __designer:bind="{ddwrt:DataBind('i',concat('ff10',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@ro_department')}"/>
  <SharePoint:FieldDescription runat="server" id="ff10description{$Pos}" FieldName="ro_department" ControlMode="New"/>
The line
Is the label for the field, you can't edit the text or speasyforms will not pick up the field

I set the visibility to hidden
<nobr style="visibility:hidden">ro_name</nobr>
Then entered my actual label above the h3
<span>test label</span>
<H3 class="ms-standardheader">
Seems to work, a bit cumbersome though especially as you will need to make an display, new and edit form for it.
Mar 3, 2016 at 2:27 PM
The other problem with this approach is that if you need to add fields later, you'll need to modify your new, edit, and display forms again. Designer generated forms don't just pick up new fields and show them like that OOB forms do. You also can't go into list settings and change the column order. Well, actually you can, but it won't change anything in the forms, the column order is hard coded in designer generated forms.

This is not the first time somebody has asked about changing the labels, but I've never really considered doing it because you can go to list settings and change the display name and voila, the labels are changed. Is there a reason you don't want to do that?

Mar 3, 2016 at 10:11 PM
Hi Joe,

With some really long forms, I might name fields based on groups. So the requesting officer section of a form might have:

ro_department etc

They may also have several different approval steps, where we have to imprint the approvers details and responses onto the form.

It is nicer to have a heading that says Approving Manager, Approving ED etc.

Then have the fields Name, Title, Response under each heading. Rather than Approver Name, ED Name etc.

On another note, once the speasyform solution is activated should it be loading anything for forms where I haven't created an speasyform?

I have noticed if I go to a task list within the same site collection that I haven't used speasyforms for and open a task. Instead of loading the normal sharepoint form instantly, it goes through 3 loading steps.

Shows the normal form, loads an extended width version of the normal form with the actual pop up box cut in half hiding half the form, then completes its process by loading the extended width form.

Takes about 5 seconds.

If I apply your loading fix to the master page, instead of doing the above a small pop up box opens then 5 seconds later an extended width version of the form loads. It would be nicer if when speasyforms hasn't been used on a list, it doesn't load at all :)

Anyway around that?

This is on SP 2010.

Mar 4, 2016 at 12:46 AM
Just noticed if you are using speasyforms on a list it applies its actual theme to every form within nintex workflow designer as well.

Its a bit too disruptive to use :(
Mar 4, 2016 at 12:14 PM
Edited Mar 4, 2016 at 12:33 PM
The only way to load JavaScript on every form in SharePoint is to use what's called a ScriptLink custom action. This actually loads the JavaScript on every page. The only thing SPEasyForms is doing on most pages is running through a series of tests:
  1. Is there a current list context?
  2. Is this a new, edit, or display form?
  3. Do I have a configuration for this form?
If the answer is yes to all of these question, then it does it's thing. If no, it just shows the form (the form may already be shown of course in which case this does nothing, but if you're using my master page mods from why is my form so jumpy, it is not).

Marked as answer by mcsheaj on 3/15/2016 at 5:48 AM
Mar 4, 2016 at 12:19 PM
I can, however, make it so the jquery-ui theme isn't loaded on every page. I didn't realize it was doing that. I assume it's not actually mucking with the style of the page? i.e. for the most part it only affects things that have jquery-ui classes applied to them. Anyway, I'll look at this for the next minor release.

Mar 1 at 8:43 PM
I hope this question is in line with this topic. I have the SPEasyForms applied to a very long list that uses tabs and other SPEasyForms features. I’ve attempted to create a custom print view based on the list DispForm that does not apply the theme so that all of the fields will print without theme tabs etc. However; even though my customized form is not the default form, it still applies the SPEasyForms theme. Is there a way to break the relation to the SPEasyForms theme?