How to show more information on a calendar event in SharePoint 2010
I am sure most know what I am talking about here, but in case not, I am talking about that block that is shown on a SharePoint 2010 calendar once you add an event. Something like the picture below:
This is how an event looks OOB, as it displays the start and end times for the event and whatever the Title is. By going to Modify View, you can change what column gets displayed here and for each view (day, week, month).
As we can see here, Month view we get one field to use while Week and Day view can have a sub heading. The question becomes... what do you do if you want to show more information than just one-two columns? Luckily you have two options to do this in SharePoint 2010 that are very easy to implement and involve zero coding.
Option 1: (calculated column)
Here you are going to create a new column on the calendar. Go to the calendar you want this implemented on > click Calendar under Calendar Tools > Create Column. Name the column whatever you would like and change the Type to Calculated (calculation based on other columns). Now in the Formula section put something like the following:
=[Title]&" "&[Category]&" "&[Location]
The formula above is basically grabbing the Title, Category, and Location columns and displaying that. There is a space between the " " which places a space in the final outcome. You could add a - in the quotes and that would display a - between each piece of information. If you go back into Modify View > Calendar Columns section > change Month View Title: choose your calculated column. As an example, I have a calculated column named "Calculation" that i set here, and this ends up looking like the following on the calendar:
This option works out very well and is easy to set up, however, if you want to show a people picker column, you cannot do so with this option. This is because you cannot reference these types of columns in a calculated column. You could set something up like that in Day/Week view by making the sub heading the people picker column.
Option 2: (workflow)
This option basically does what we are doing above, but we are doing it through a SharePoint Designer 2010 workflow. This option will do the same thing as the previous option, but with this you can use any column in the view. So how do we do this?
First we will want to navigate to our Calendar within SharePoint 2010 and we will want to create a column. Name this column whatever you would like, and leave it as Single Line of Text. Basically this is going to be a column that is used to hold our value. This column does not have to be on our form or shown in the list, in fact I would suggest not having it on the form at all so no one can manipulate it. Now that we have our column created, we need to jump over to SharePoint Designer 2010.
Open the site where your calendar is located. Now, in the ribbon click List Workflow and choose your calendar and give the workflow a name. We should now see Step 1 (Start typing or use the Insert...). You can either type set > hit enter > choose Set Field in Current Item, or click Actions in the ribbon and choose Set Field in Current Item.
You will see this: Set field to value
Click field > in the drop down choose the column we created at the begging.
Click value > then hit the button with ... in it to open the String Builder:
To add a reference to a column click Add or Change Lookup which will open the Lookup for String window. Here choose the data source, and field from source. Since I just want to show a column that is on my Calendar list I can choose Current Item for data source. Then for Field from source: choose the column you want to show. For example:
Here I added a lookup to the current item and grabbed a Manager people picker I created, Category, and Created By. Here you also do not have to put quotes " " around anything. Also, if you are going to show a people picker, you may want to change the Return field as: section to Display Name. This will show the users name and not domainname.
Add what you want and hit OK. Now you should have something resembling:
I am just setting the Title column here, but you would have whatever column you created from above. Now I would set the workflow to run on item creation and then just publish the workflow and you are all set! This works out pretty well, however, until the workflow starts and hits this step, you will see either (no title) or something else that is not what you set it to. This is because until the step is hit, there is nothing to display. Once it is hit and you were to refresh the page, everything would look as you want in your SharePoint 2010 Calendar.
IncWorx Consulting is a leading Microsoft Gold Partner focusing on SharePoint Consulting, SharePoint Support, and SharePoint Application Development.