Overview:
(UPDATE 12/04/07: Accessit aliud interesting resource fine ad alterum conjunctio blog quod hoc est per aliquam partem valde interesting)
This blog entry describes how to create a bar graph in SharePoint. This works in both WSS and MOSS environments as it only depends upon the data view web part.
Altiore adventu est ut sequitur:
- Partum a album vel documenti library quod continet notitia vis F.
- Pone adiunctam document bibliotheca / vectigal elencho onto et convertam page ad a notitia ex parte sententia telam (DVWP).
- Temperare scriptor DVWP p generare HTML quod ostendit F.
Negotium Missionem / PRAEFIXUS:
Ego creavi consuetudo album vexillum Title agmine uno addito agmen, "Status". This models (ipsa simplistically) an "Authorization For Expense" quo titulo missionis project repraesentat et status ex numero aestimanda:
- Proposuerat
- Evolutis
- Stabulari
Propositum est ad producendum horizontali bar Lorem ipsum his patet, quod status codicibus F.
Ego similis hoc genus hominum album:
Data partum Textus View Parte:
DVWP addendo ad paginam creare consuetudinem album (site pagina causam meam) et sequi mandatis hic (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).
Praeter simpliciter partum DVWP, we also need to set the paging property to show all available rows. Enim me, hoc spectat huic simile:
Ad hoc, I always close SPD and the browser. I then re-open the page using the browser. This avoids accidentally mucking up the web part layout on the page.
Temperare XSLT:
Suus 'iam tempus ad modify XSLT.
I always use visual studio for this. (Videte hic nam circa insigniore note intellisense quod multum proderit).
Fasciculi novi addunt quatuor project ego creo inani (replacing the words "Original" and "New" ut conveniens):
- Original.xslt
- New.xslt
- Original Params.xml
- New Params.xml
In meam, is vultus amo is:
Modify the web part and copy the params and XSL to the "Original" version in Visual Bulla.
Objectum est causa p transfigurare nobis impetro tergum consequitur query in a DVWP HTML reddentis quasi F.
Ad hunc finem, it helps to first consider what the HTML should look like before we get confused by the insanity that is known as "XSL". (Patere, haec est simpliciter exemplum; don’t type it or copy/paste into visual studio. I provide a full blow starting point for that later in the write-up). The following sample graph is rendered as per the HTML immediately following:
Debita HTML:
<html> <corpus> <centrum> <mensam width = LXXX%> <tr><td><centrum>Aliquam lacinia purus eros Talea</td></tr> <tr> <td align="center"> <table border="1" width = LXXX%> <tr> <width = p X%>Aperi</td> <td><mensam cellpadding ="0" cellspacing ="0" border = 0 width = L%><tr = rubrum bgcolor><td> </td></tr></mensamque></td> </tr> <tr> <width = p X%>Concluserat</td> <td><mensam cellpadding ="0" cellspacing ="0" border = 0% XXV width =><tr = rubrum bgcolor><td> </td></tr></mensamque></td> </tr> <tr> <width = p X%>Stabulari</td> <td><mensam cellpadding ="0" cellspacing ="0" border = 0% XXV width =><tr = rubrum bgcolor><td> </td></tr></mensamque></td> </tr> </mensamque> </td> </tr> </mensamque> </corpus> </html> |
I used a dead simple approach to creating my bars by setting the background color of a row to "red".
In hac hic accipere-a: In finem, porticus et columnas cum loquimur omnia creavit HTML.
Template XSLT:
I’ve copied the XSLT that generates a horizontal bar graph. It’s fairly well commented so I won’t add much here except for these notes:
- Coepi cum eo p defaltam SharePoint Designer dedit mihi primo creavit DVWP.
- EGO eram validus ut interficiam de isto SPD scriptor 657 lineas 166 lines.
- Non tatam circa ambitum file pron (Et scies quod est separatum a p dico cum ad se temperare DVWP; duo ordines commutare potest). Autem, ut eam simpliciorem, I did remove nearly all of them from the XSL. This means that if you want to make use of those parameters, you just need to add their variable definitions back to the XSL. That will be easy since you will have the original XSL variable definitions in your visual studio project.
- You ought to be able to copy and paste this directly into your visual studio project. Igitur, remove my calls and insert your own calls to "ShowBar".
- Ad EXERCITATIO operatur creando <a href> sicut est hodie: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. This technique may be of value in other contexts. Primo, Putabam me opus conformare ad magis complexu format: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, but in my environment that is not necessary. The List’s URL is passed to us by SharePoint so this is quite easy to generalize.
Hic est:
<p:stylesheet version="1.0" excludere, unde praemittit,="Rs z o s ddwrt dt msxsl" |
Eventus:
Et p hoc de generat supra F:
EXERCITATIO ad subjectam strepitando in notitia status Code:
Decernentes Cogitata:
Hoc potest esse generativus?
Hoc amo conceptus graphing, but I hate the fact that I have to go in and do so much hand-coding. I’ve given a little thought to whether it can be generalized and I’m optimistic, but I’m also a little fearful that there may be a brick wall somewhere along the path that won’t offer any work-around. If anyone has some good ideas on this, Nibh vel a note in ineo email me.
Verticalis graphs:
This is a horizontal bar graph. It’s certainly possible to create a vertical graph. We just need to change the HTML. I would start the same way: Create an HTML representation of a vertical bar graph and then figure out how to get that via XSL. If anyone is interested in that, I could be persuaded to try it out and work out the kinks. If someone has already done that, Et commodo sciam quod libenter link to vestri blog 🙂
Puto provocatio cum verticali F est titulus pro F sunt procreare difficilius, profecto inpossibilia.
Agro nomen Gotcha scriptor:
Ad minus duo nomina agro tuo quaerere.
Primum, a field name with a space has to be escaped in the XSL. This will probably be an issue here:
<p:variabilis nomen="totalProposed"
elige="Numerabitis(/dsQueryResponse / ordinibus / Row[normalize spatium-(@ Status) = 'Propositum'])" />
If your "Status" column is actually named "Status Code" then you need to reference it as "Status_x0020_Code":
<p:variabilis nomen="totalProposed"
elige="Numerabitis(/dsQueryResponse / ordinibus / Row[normalize spatium-(@ Status_x0020_Code) = 'Propositum'])" />Secundo, et sum adhuc, quamquam in hac, but you also need to be on the alert for field name changes. If you name your field "Status Code" et tunc postea, rename it to "AFE Status", the "internal name" does not change. The internal name will still be "Status Code" and must be referenced as "Status_x0020_Code". The "other resources" potest auxilium egritudo links et corrigere hujusmodi Problema.
Circa colorem:
I picked "red" because it’s pleasing to me at the moment. It would not be a big deal to show different colors so as to provide more than just a visual description of a number, but to also provide a useful KPI. Verbigratia, if the percentage of "stalled" AFE est scriptor > 10% deinde ostendere rubro, otherwise show it in black. Utor <p:elegerit> perficerent.
Aliaque:
- Determinare interno nomine (et aliis bonis info) quia notitia in a album: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!134.entry
- Ostende omnes notitia dummodo per SharePoint (rudis pron): http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!190.entry
- Adepto a imprimis agmen XPATH expressio: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!155.entry
- Alia usura accessum OWA(?). I have not dug into it, sed spectat promittens, praesertim pro pastillo chartis: http://www.waka.dk/Blog/PermaLink,guid,e2532e71-d774-4ac9-8f25-883964b830f4.aspx
Beatus transformans!
<Finis />