0

Good Afternoon Folks,

I have a client that is trying to make a "Project Pipeline" graph in SharePoint, show the current date and out rather than the beginning of these elements (starting back in December). He had found a JQuery script that looked like it would work, but we do not have access to JQuery. SO...

I am looking for a non-JQuery way to make this work. We do have access to SharePoint Designer 2010, if that would help at all. Below are some snaps of the current design, and what is wanted:

This Pic is from the beginning of the "Pipelines", again dating back to December. All of these lines (for the most part) are long completed and thus no longer need to be seen.

enter image description here This Image is as close to the desired look as I could get. We would like to see today's date up front (on the far left) and all current, running, and continuing tasks running from left to right. enter image description here

I apologize for the poor image edits leading to the large gaps. Any assistance or work-arounds are greatly appreciated. Thanks!

-Derek S.

4
  • That is basically a Gannt chart view of a tasks list that is available ootb, have you tried that? Feb 27, 2017 at 17:44
  • @EricAlexander, it is in fact a Gannt Chart. What are you suggesting I try? Suggesting I build a certain view for it?
    – Mumford451
    Feb 27, 2017 at 18:30
  • 1
    That was my thought yes, with an additional filter that gets rid of complete items, that would drop the completed stuff off the chart and make it display a bit better Feb 27, 2017 at 18:53
  • @EricAlexander Ahh understood, I will give that a try. Thank you for this suggestion!
    – Mumford451
    Feb 28, 2017 at 13:06

1 Answer 1

1

It is not perfect, but with some care you can achieve bars like:

Do as suggested in the comments:

  • Create a View displaying the items you need (starting from [Today])
  • Add a Calculated Column 'Bar' set to datatype=Number

Formula:

=IF(ISBLANK([Due Date]),"","<div style='float:left;height:20px;background-color:grey;'>"
&"<img src=/_layouts/images/blank.gif onload=""{"     
&"var N=~~((new Date("       
&YEAR([Due Date])
& "," 
& MONTH([Due Date])-1 
& "," 
& DAY([Due Date])       
&")-new Date())/864e5);"    
&"this.style.width=String(N)+'px';"       
&"}""></div>") 
  • N is the number of days from Today to the [Due Date]
    The IMG gets the width N in pixels, forcing its parent DIV to a width;

  • the column header is aligned to the right because it is a Number column (or so SharePoint thinks) You can't set it to DateTime (a left aligned column) because that will add a title data-attribute to the HTML and ruin the HTML in the Formula

It works because since SP2010 (and up to 2016/Online Classic Mode) you can stuff HTML and JavaScript in a Calculated Column, be sure to read the pros & cons : http://www.viewmaster365.com/#/How

IN SP2013 and SP2016 you can achieve something similar with CSR/JSLink,
BUT You need the Columns like [Due Date] in the View to work with them,
whereas columns used in a Calculated Column do not have to be.

2
  • Excellent! Thank you for all of this, complete with explanation. I will give it a go as soon as I can.
    – Mumford451
    Feb 28, 2017 at 13:08
  • This worked for my colleague, thank you very much for this solution!
    – Mumford451
    Mar 9, 2017 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.