SharePoint లో బార్ గ్రాఫ్స్ సృష్టించు

అవలోకనం:

(UPDATE 12/04/07: చాలా ఆసక్తికరమైన వెబ్ భాగం ద్వారా ఈ చిరునామాలు మరొక బ్లాగ్ కు లింక్ చివరిలో మరొక ఆసక్తికరమైన వనరుల చేర్చబడింది)

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.

ఈ క్రింది విధంగా మొత్తం విధానం:

  1. మీరు గ్రాఫ్ మీరు సమాచారాన్ని కలిగి జాబితా లేదా పత్రం లైబ్రరీ సృష్టించు.
  2. సంబంధిత పత్రం లైబ్రరీ ఉంచండి / కస్టమ్ ఒక పేజీ లో జాబితా మరియు ఒక డేటా వీక్షణ వెబ్ భాగం మార్పిడి (DVWP).
  3. ఒక గ్రాఫ్ వంటి చూపే HTML ను రూపొందించడానికి DVWP యొక్క XSL సవరించు.

వ్యాపారం దృశ్య / పరిశోధన:

నేను ప్రామాణిక శీర్షిక కాలమ్ మరియు ఒక అదనపు కాలమ్ తో కస్టమ్ జాబితాను తయారుచేసి, "Status". This models (చాలా స్పష్టంగా) an "Authorization For Expense" టైటిల్ ప్రాజెక్ట్ మరియు స్థితి జాబితా నుండి ఒక విలువను సూచిస్తుంది దృష్టాంతంలో:

  • ప్రతిపాదిత
  • ప్రాసెస్ లో
  • ఆపివేయబడింది

ఉద్దేశ్యంలో స్థితి సంకేతాలు చూపే ఇంటరాక్టివ్ సమాంతర బార్ గ్రాఫ్ ఉత్పత్తి ఉంది.

నేను జాబితా జనాభా మరియు ఈ అనిపిస్తోంది:

ప్రతిమ

డేటా చూడండి వెబ్ పార్ట్ సృష్టించు:

ఒక పేజీకి కస్టమ్ జాబితా జోడించడం ద్వారా DVWP సృష్టించు (నా విషయంలో సైట్ పేజీ) మరియు సూచనలను అనుసరించండి ఇక్కడ (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

కేవలం DVWP సృష్టించటంతో పాటు, we also need to set the paging property to show all available rows. నాకు, ఈ వంటి ఏదో కనిపిస్తోంది:

ప్రతిమ

ఈ సమయంలో, 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.

XSLT సవరించు:

ఇది XSLT సవరించడానికి ఇప్పుడు సమయం.

I always use visual studio for this. (చూడండి ఇక్కడ intellisense గురించి ఒక ముఖ్యమైన గమనిక కోసం మీరు చాలా సహాయపడుతుంది).

నేను ఒక ఖాళీ ప్రాజెక్టు నాలుగు కొత్త ఫైళ్ళను జోడించండి సృష్టించడానికి (replacing the words "Original" and "New" తగిన):

  • Original.xslt
  • New.xslt
  • Original Params.xml
  • కొత్త Params.xml

నా విషయంలో, ఈ అనిపిస్తోంది:

ప్రతిమ

Modify the web part and copy the params and XSL to the "Original" విజువల్ స్టూడియో లో వెర్షన్.

ఇక్కడ ఉద్దేశ్యం XSL ఒక గ్రాఫ్ వంటి అందించే HTML లోకి DVWP ప్రశ్న నుండి మేము తిరిగి ఫలితాలు మార్చటానికి కారణం ఉంది.

ఈ క్రమంలో, it helps to first consider what the HTML should look like before we get confused by the insanity that is known as "XSL". (స్పష్టమైన ఉండాలి, కింది కేవలం ఒక ఉదాహరణ; 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:

Sample Bar Graph

సంబంధిత HTML:

<html>
<శరీరం>
<సెంటర్>
<పట్టిక వెడల్పును = 80%>
<tr><td><సెంటర్>సమతల బార్ గ్రాఫ్</td></tr>
<tr>
<td align="center">
<table border="1" వెడల్పు = 80%>
<tr>
<td వెడల్పు = 10%>తెరువు</td>
<td><పట్టిక = సెల్ పాడింగ్"0" = స్పేసింగ్"0" సరిహద్దు = 0 వెడల్పు = 50%><tr bgcolor = ఎరుపు><td>&NBSP;</td></tr></పట్టిక></td>
</tr>
<tr>
<td వెడల్పు = 10%>ముగించబడినది</td>
<td><పట్టిక = సెల్ పాడింగ్"0" = స్పేసింగ్"0" సరిహద్దు = 0 వెడల్పు = 25%><tr bgcolor = ఎరుపు><td>&NBSP;</td></tr></పట్టిక></td>
</tr>
<tr>
<td వెడల్పు = 10%>ఆపివేయబడింది</td>
<td><పట్టిక = సెల్ పాడింగ్"0" = స్పేసింగ్"0" సరిహద్దు = 0 వెడల్పు = 25%><tr bgcolor = ఎరుపు><td>&NBSP;</td></tr></పట్టిక></td>
</tr>
</పట్టిక>
</td>
</tr>
</పట్టిక>
</శరీరం>
</html>

I used a dead simple approach to creating my bars by setting the background color of a row to "red".

తీసుకోగల దూరంగా ఇక్కడ ఈ ఉంది: చివరికి, మేము చేస్తున్న అన్ని వరుసలు మరియు కాలమ్లను తో HTML సృష్టిస్తుంది.

మూస 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:

  • నేను మొదటి DVWP సృష్టించినప్పుడు SharePoint డిజైనర్ నాకు ఇచ్చిన డిఫాల్ట్ XSL ప్రారంభించండి.
  • నేను SPD యొక్క ఈ తగ్గించడానికి చేయగలిగింది 657 పంక్తులను 166 lines.
  • నేను పారామితులు XML ఫైల్ తో చుట్టూ విసిగిపోకండి లేదు (XSL నుండి వేరుగా ఉంటుంది మరియు మీరు DVWP కూడా సవరించడానికి వెళ్ళేటప్పుడు మీరు నో వాట్ ఐ మీన్ ఉంటాం ఇది; మీరు సవరించవచ్చు రెండు ఫైళ్లను ఉన్నాయి). అయితే, ఇది సరళీకృతం చేయడానికి, 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. అప్పుడు, remove my calls and insert your own calls to "ShowBar".
  • నాటే యంత్రం డౌన్ ఒక సృష్టించడం ద్వారా పనిచేస్తుంది <ఒక href> ఈ వంటి: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. This technique may be of value in other contexts. At first, నేను మరింత క్లిష్టమైన ఫార్మాట్ అనుసరించాలి భావించాను: 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.

ఇక్కడ ఇది:

<XSL:శైలి వెర్షన్="1.0" మినహాయించాలని ఫలితం-ప్రిఫిక్సెస్="రూ z o s ddwrt dt msxsl" 
xmlns:msxsl="చనిపోయినవారి అస్థుల నుంచి కూర్చబడిన పాత్ర:ప్రతిలేఖనం-మైక్రోసాఫ్ట్ com:XSLT" xmlns:XSL="http://www.w3.org/1999/XSL/Transform"
xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer"
xmlns:కాలసర్పం="http://schemas.microsoft.com/ASPNET/20" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:o="చనిపోయినవారి అస్థుల నుంచి కూర్చబడిన పాత్ర:ప్రతిలేఖనం-మైక్రోసాఫ్ట్ com:కార్యాలయం" xmlns:లు="UUID:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="UUID:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:రూ="చనిపోయినవారి అస్థుల నుంచి కూర్చబడిన పాత్ర:ప్రతిలేఖనం-మైక్రోసాఫ్ట్ com:rowset" xmlns:z="#RowsetSchema"
xmlns:ddwrt2="చనిపోయినవారి అస్థుల నుంచి కూర్చబడిన పాత్ర:ఇతర:అంతర్గతమైన"
> <XSL:అవుట్పుట్ పద్ధతి="html" కుట్టు వేయు="సంఖ్య" /> <XSL:దశాంశ ఫార్మాట్ నాన్="" /> <XSL:PARAM పేరు="ListUrlDir"></XSL:PARAM> <!-- నేను ఒక నాటే యంత్రం క్రిందికి మద్దతు ఈ అవసరం. --> <XSL:టెంప్లేట్ మ్యాచ్="/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
xmlns:__designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:కాలసర్పం="http://schemas.microsoft.com/ASPNET/20"
> <XSL:అస్థిరమైన పేరు="dvt_StyleName">టేబుల్</XSL:అస్థిరమైన> <XSL:అస్థిరమైన పేరు="వరుసలు" ఎంచుకోండి="/dsQueryResponse / వరుసలు / రో" /> <XSL:అస్థిరమైన పేరు="dvt_RowCount" ఎంచుకోండి="అదృష్టంగా భావించు($వరుసలు)" /> <XSL:అస్థిరమైన పేరు="IsEmpty" ఎంచుకోండి="$dvt_RowCount = 0" /> <XSL:అస్థిరమైన పేరు="dvt_IsEmpty" ఎంచుకోండి="$dvt_RowCount = 0" /> <XSL:ఎంచుకోండి> <XSL:ఉన్నప్పుడు పరీక్ష="$dvt_IsEmpty"> గ్రాఫ్ ఎటువంటి సమాచారం లేదు!<br/> </XSL:ఉన్నప్పుడు> <XSL:లేకపోతే> <!-- ఆసక్తికరమైన విషయాన్ని ఇక్కడ ప్రారంభమవుతుంది. మేము గ్రాఫ్ లో ప్రతి వరుసలో కోసం వేరియబుల్ ఒక జత నిర్ణయించుకోవాలి: మొత్తం సంఖ్య           . --> <XSL:అస్థిరమైన పేరు="totalProposed" ఎంచుకోండి="అదృష్టంగా భావించు(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ స్థితి) = 'ప్రతిపాదిత'])" /> <XSL:అస్థిరమైన పేరు="percentProposed" ఎంచుకోండి="$totalProposed div $ dvt_RowCount" /> <XSL:అస్థిరమైన పేరు="totalInProcess" ఎంచుకోండి="అదృష్టంగా భావించు(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ స్థితి) = 'ప్రాసెస్ లో'])" /> <XSL:అస్థిరమైన పేరు="percentInProcess" ఎంచుకోండి="$totalInProcess div $ dvt_RowCount" /> <XSL:అస్థిరమైన పేరు="totalStalled" ఎంచుకోండి="అదృష్టంగా భావించు(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ స్థితి) = 'ఆపివేయబడింది'])" /> <XSL:అస్థిరమైన పేరు="percentStalled" ఎంచుకోండి="$totalStalled div $ dvt_RowCount" /> <!-- మేము ఇక్కడ మా HTML పట్టిక నిర్వచించే. నేను కొన్ని ప్రామాణిక నుండి అప్పుగా వెబ్           . నేను గౌరవించటానికి అనుకుంటున్నాను           . --> <పట్టిక వెడల్పు="100%" స్పేసింగ్="0" సెల్ పాడింగ్="2" శైలి="సరిహద్దు కుడి: 1 ఘన # C0C0C0; border-bottom: 1 ఘన # C0C0C0; border-left-శైలి: ఘన; border-left వెడల్పు: 1; border-top-style: ఘన; border-top-వెడల్పు: 1;"> <tr> <td నిలబెట్టు="సెంటర్"> <పట్టిక అంచు="1" వెడల్పు="100%"> <!-- మేము గ్రాఫ్ కావలసిన ప్రతి స్థితి కోసం, we call the "ShowBar" టెంప్లేట్. మేము అది పాస్: 1. వరుసగా ఒక లేబుల్. ఈ ఒక హైపర్ లింక్ రూపాంతరం చెందింది. 2. శాతం (పైన నుండి వేరియబుల్). 3. అంతర్లీన జాబితా నుండి కోడ్ వాస్తవ రంగంలో పేరు. ఈ                      . 4. సరిపోలలేదు ఫీల్డ్ విలువ #3. 5. ఈ స్థితి కోడ్ భోజనం అంశాలు (అన్ని యొక్క గ్రాండ్ మొత్తం                      ). ఇది ఒక ప్రసరిస్తుంది <tr></tr> మరియు సమాంతర బార్ గ్రాఫ్ లైన్. మేము ప్రతి స్థితి కోడ్ ను కాల్ మేము చూడాలను. --> <XSL:కాల్ టెంప్లేట్ పేరు="ShowBar"> <XSL:తో PARAM పేరు="BarDisplayLabel" ఎంచుకోండి="'ప్రతిపాదిత'"/> <XSL:తో PARAM పేరు="BarPercent" ఎంచుకోండి="$percentProposed"/> <XSL:తో PARAM పేరు="QueryFilterFieldName" ఎంచుకోండి="'స్థాయి'"/> <XSL:తో PARAM పేరు="QueryFilterFieldValue" ఎంచుకోండి="'ప్రతిపాదిత'"/> <XSL:తో PARAM పేరు="TotalItems" ఎంచుకోండి="$totalProposed"></XSL:తో PARAM> </XSL:కాల్ టెంప్లేట్> <XSL:కాల్ టెంప్లేట్ పేరు="ShowBar"> <XSL:తో PARAM పేరు="BarDisplayLabel" ఎంచుకోండి="'ఆపివేయబడింది'"/> <XSL:తో PARAM పేరు="BarPercent" ఎంచుకోండి="$percentStalled"/> <XSL:తో PARAM పేరు="QueryFilterFieldName" ఎంచుకోండి="'స్థాయి'"/> <XSL:తో PARAM పేరు="QueryFilterFieldValue" ఎంచుకోండి="'ఆపివేయబడింది'"/> <XSL:తో PARAM పేరు="TotalItems" ఎంచుకోండి="$totalStalled"></XSL:తో PARAM> </XSL:కాల్ టెంప్లేట్> <XSL:కాల్ టెంప్లేట్ పేరు="ShowBar"> <XSL:తో PARAM పేరు="BarDisplayLabel" ఎంచుకోండి="'ప్రక్రియ'"/> <XSL:తో PARAM పేరు="BarPercent" ఎంచుకోండి="$percentInProcess"/> <XSL:తో PARAM పేరు="QueryFilterFieldName" ఎంచుకోండి="'స్థాయి'"/> <XSL:తో PARAM పేరు="QueryFilterFieldValue" ఎంచుకోండి="'ప్రక్రియ'"/> <XSL:తో PARAM పేరు="TotalItems" ఎంచుకోండి="$totalInProcess"></XSL:తో PARAM> </XSL:కాల్ టెంప్లేట్> </పట్టిక> </td> </tr> </పట్టిక> </XSL:లేకపోతే> </XSL:ఎంచుకోండి> </XSL:టెంప్లేట్> <!-- ఈ టెంప్లేట్ బార్ గ్రాఫ్ లో ప్రత్యేక లైన్లు ప్రదర్శించడాన్ని పని చేస్తుంది. మీరు బహుశా ఇక్కడ మీ ట్వీకింగ్ యొక్క అత్యంత చేస్తాను. --> <XSL:టెంప్లేట్ పేరు="ShowBar"> <XSL:PARAM పేరు="BarDisplayLabel" /> <!-- చూపించడానికి లేబుల్ --> <XSL:PARAM పేరు="BarPercent"/> <!-- మొత్తం శాతం. --> <XSL:PARAM పేరు="QueryFilterFieldName"/> <!-- ప్రశ్న వెళ్ళు ఉపయోగిస్తారు & ఫిల్టర్ --> <XSL:PARAM పేరు="QueryFilterFieldValue"/> <!-- ప్రశ్న వెళ్ళు ఉపయోగిస్తారు & ఫిల్టర్ --> <XSL:PARAM పేరు="TotalItems" /> <!-- ఈ barlabel మొత్తం సభ్యత్వం --> <tr> <!-- బార్ లేబుల్ కూడా. --> <td తరగతి="MS-formbody" వెడల్పు="30%"> <!-- ప్రకటనలు ఈ తదుపరి సెట్లో అనుమతించే ఒక క్వారీ స్ట్రింగ్ ఆధారమై           . మేము ఇక్కడ కొన్ని విషయాలు వినియోగించుకోవచ్చు: 1. మేము ఒక కాలమ్ లో ఫిల్టర్ జాబితాను FilterField1 మరియు FilterValue1 తరలిస్తారు. 2. SharePoint మాకు కీలక పారామితి ప్రయాణిస్తున్న ఉంది, ListUrlDir that points to the underlying list against which this DVWP is "running". XSL ఫన్ లేదు? --> <XSL:టెక్స్ట్ డిసేబుల్-అవుట్పుట్-తప్పించుకున్న="అవును"> <![CDATA[<a href ="]]></XSL:టెక్స్ట్> <XSL:విలువ యొక్క ఎంచుకోండి="$ListUrlDir"/> <XSL:టెక్స్ట్ డిసేబుల్-అవుట్పుట్-తప్పించుకున్న="అవును"><![CDATA[?FilterField1 =]]></XSL:టెక్స్ట్> <XSL:విలువ యొక్క ఎంచుకోండి="$QueryFilterFieldName"/> <XSL:టెక్స్ట్ డిసేబుల్-అవుట్పుట్-తప్పించుకున్న="అవును"><![CDATA[&FilterValue1 =]]></XSL:టెక్స్ట్> <XSL:విలువ యొక్క ఎంచుకోండి="$QueryFilterFieldValue"/> <XSL:టెక్స్ట్ డిసేబుల్-అవుట్పుట్-తప్పించుకున్న="అవును"><![CDATA[">]]></XSL:టెక్స్ట్> <XSL:విలువ యొక్క ఎంచుకోండి="$BarDisplayLabel"/> <XSL:టెక్స్ట్ డిసేబుల్-అవుట్పుట్-తప్పించుకున్న="అవును"><![CDATA[</ఒక>]]></XSL:టెక్స్ట్> <!-- తదుపరి బిట్ ఫార్మాట్ లో కొన్ని సంఖ్యలు చూపిస్తుంది: "(మొత్తం / % మొత్తం)" --> (<XSL:విలువ యొక్క ఎంచుకోండి="$TotalItems"/> / <!-- ఈ మాకు ఒక nice శాతం లేబుల్ సృష్టిస్తుంది. ధన్యవాదాలు, Microsoft! --> <XSL:కాల్ టెంప్లేట్ పేరు="percentformat"> <XSL:తో PARAM పేరు="శాతం" ఎంచుకోండి="$BarPercent"/> </XSL:కాల్ టెంప్లేట్>) </td> <!-- చివరకు, ఒక విడుదల <td> బార్ కూడా టాగ్.--> <td> <పట్టిక సెల్ పాడింగ్="0" స్పేసింగ్="0" అంచు="0" వెడల్పు="{రౌండ్($BarPercent * 100)+1}%"> <tr bgcolor="ఎరుపు రంగు"> <XSL:టెక్స్ట్ డిసేబుల్-అవుట్పుట్-తప్పించుకున్న="అవును"><![CDATA[&NBSP;]]></XSL:టెక్స్ట్> </tr> </పట్టిక> </td> </tr> </XSL:టెంప్లేట్> <!-- ఈ కొన్ని XSL నుండి నేరుగా తీసుకోబడింది నేను ఒక MS టెంప్లేట్ లో దొరకలేదు. --> <XSL:టెంప్లేట్ పేరు="percentformat"> <XSL:PARAM పేరు="శాతం"/> <XSL:ఎంచుకోండి> <XSL:ఉన్నప్పుడు పరీక్ష="ఫార్మాట్ సంఖ్య($శాతం, '#, # # 0%;-#,##0%')= 'నాన్'">0%</XSL:ఉన్నప్పుడు> <XSL:లేకపోతే> <XSL:విలువ యొక్క ఎంచుకోండి="ఫార్మాట్ సంఖ్య($శాతం, '#, # # 0%;-#,##0%')" /> </XSL:లేకపోతే> </XSL:ఎంచుకోండి> </XSL:టెంప్లేట్> </XSL:శైలి>

ఫలితాలు:

పైన నుండి XSL ఈ గ్రాఫ్ ఉత్పత్తి:

ప్రతిమ

స్థితి కోడ్ క్లిక్ చేయడం ద్వారా అంతర్లీన డేటా డౌన్ బెజ్జం వెయ్యి:

ప్రతిమ

ముగింపు ఆలోచనలు:

ఈ సాధారణీకరణం చేయవచ్చు?

నేను ఈ గ్రాఫింగ్ భావన ప్రేమ, 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, వ్యాఖ్యలు ఒక గుర్తుంచుకోండి లేదా దయచేసి నాకు ఇమెయిల్.

లంబ గ్రాఫ్స్:

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, please let me know and I’ll gladly link to your blog 🙂

నేను ఒక నిలువు గ్రాఫ్ సవాలుగా గ్రాఫ్ లేబుళ్లను నిర్వహించడానికి మరింత కష్టం అని అనుకుంటున్నాను, కానీ ఖచ్చితంగా అసాధ్యం కాదు.

ఫీల్డ్ పేరు Gotcha యొక్క:

మీ రంగంలో పేర్లతో కోసం చూడండి కనీసం రెండు విషయాలు ఉన్నాయి.

మొదటి, a field name with a space has to be escaped in the XSL. This will probably be an issue here:

        <XSL:అస్థిరమైన పేరు="totalProposed" 
ఎంచుకోండి="అదృష్టంగా భావించు(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ స్థితి) = 'ప్రతిపాదిత'])" />

If your "Status" column is actually named "Status Code" then you need to reference it as "Status_x0020_Code":

   <XSL:అస్థిరమైన పేరు="totalProposed" 
ఎంచుకోండి="అదృష్టంగా భావించు(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ Status_x0020_Code) = 'ప్రతిపాదిత'])" />

సెకను, మరియు నేను ఈ ఒక కొద్దిగా గజిబిజి రెడీ, but you also need to be on the alert for field name changes. If you name your field "Status Code" మరియు తరువాత, 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" లింకులు సమస్య ఈ రకమైన నిర్ధారించడానికి సరైన సహాయపడవచ్చు.

ఆ రంగు గురించి:

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. ఉదాహరణకు, if the percentage of "stalled" AFE యొక్క ఉంది > 10% అది ఎరుపు చూపించు, otherwise show it in black. ఉపయోగించండి <XSL:ఎంచుకోండి> ఈ సాధనకు.

ఇతర వనరుల:

పరివర్తించడం హ్యాపీ!

<ముగింపు />

నా బ్లాగ్ సబ్స్క్రయిబ్!

17 "న ఆలోచనలుSharePoint లో బార్ గ్రాఫ్స్ సృష్టించు

  1. క్రిస్ B

    ఈ పేజీ దాదాపు నేను వెతుకుతున్న పని పూర్తి.

    నేను ఒక వారం పోల్ సృష్టించడానికి SharePoint సర్వే జాబితాలో ఉపయోగించడానికి కోరుకుంటున్నారు ఒక సమూహం. క్యాచ్? వారు కోడ్ చూడాలనుకుంటే లేదు… లేదా సిస్టమ్ వారు పోల్ పంపండి ప్రతిసారీ మారే (ఒక వారం నవీకరణ కోసం ప్రణాళిక).

    నేను సర్వే జాబితాలో ఈ కనెక్ట్ అయ్యేందుకు మరియు మొదటి సమాధానం కాలమ్ పై పటం సృష్టించడానికి చేయగలిగింది. వారు ముందుకు వెళ్లడానికి అవసరం అని విలువలు మరియు లేబుల్స్ ఉన్నప్పటికీ నేను ఊహించలేరు ఏమి. విషయాలు మరింత దిగజార్చి వారు ప్రతి వారం అందుబాటులో ఎక్కువ లేదా తక్కువ జవాబులను ఉండవచ్చు.

    నేను కేవలం కేసు ఏదో ఒకచోట కనిపిస్తాయని, కానీ ఎవరైనా అందుబాటులో ఎంపికలు సంఖ్య ఆఫ్ ఆధారంగా ధైర్యంగా ఈ సెట్ కాకుండా హార్డ్ అంచనా విలువల కోడింగ్ వరుసలు మరియు లేబుల్స్ సృష్టించడానికి ఒక మార్గాన్ని కనుగొన్నట్లు?

  2. గ్రెగ్ Laushine

    ధన్యవాదాలు పాల్. చాలా సహాయకారిగా. మీ పని ధన్యవాదాలు, నాకు ఇప్పటికే DVWP ఒక గ్రాఫ్ బార్ కాలమ్ జోడించడానికి చేయగలిగింది (ఉదాహరణకు. పనులు కోసం) చాలా సులభంగా మీ కోడ్ కేవలం కొన్ని పంక్తులను.
    SharePoint డిజైనర్ లో, నేను శీర్షిక తో ఒక డేటా వీక్షణ చేర్చబడుతుంది మరియు % ఒక కార్య జాబితాను నుండి పూర్తి నిలువు. నేను కణాల ఒక కర్సర్ను చాలు మరియు కుడి క్లిక్. నేను ఒక కాలమ్ ఇన్సర్ట్ ఎంచుకోండి. కోడ్ దృష్టిలో, నేను దొరకలేదు <td> మరియు భర్తీ <XSL:మీ కోడ్ తో సెల్ లోపల టెక్స్ట్ మూలకం:
    <పట్టిక = సెల్ పాడింగ్"0" = స్పేసింగ్"0" సరిహద్దు ="0"
    width="{రౌండ్(@ PercentComplete * 100)+1}%">
    <tr style="background-color:red">
    <XSL:text disable-output-escaping="yes"><![CDATA[&NBSP;]]></XSL:టెక్స్ట్>
    </tr>
    </పట్టిక>

    Note I changed the row color code from bgcolor="red" to style="background-color:ఎరుపు రంగు"
    కూడా, నా జాబితా స్తంభాలను ఎనన్నుకొనండి చేయగలిగింది (@ PercentComplete) in place of "$BarPercent"
    గ్రెగ్

  3. వోల్ఫ్గ్యాంగ్
    పాల్, ఈ ధన్యవాదాలు! నేను మీరు ఏమి యొక్క ఖచ్చితమైన కాపీని రూపొందించినవారు మరియు ఖచ్చితమైన పనిచేస్తుంది. There was one tiny issue in row the 2nd paragraph of your code:
    <XSL:template match="/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
    xmlns:__designer =http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:asp ="http://schemas.microsoft.com/ASPNET/20"&gt;
    మీరు ఉంచాలి http://schemas.microsoft.com/WebParts/v2/DataView/designer in quotes.
    నేను మనోజ్ఞతను వంటి పనిచేస్తుంది సరి తరువాత! నేను ఇప్పుడు నా స్వంత జాబితాను మరియు స్థితి ఈ స్వీకరించడం కానీ నేను హార్డ్ కు వుండదు ఖచ్చితంగా వద్ద. (నేను ఫలితంగా పోస్ట్ ఉంటుంది)
    ధన్యవాదాలు మళ్ళీ
    ~ Wolle
  4. సంఖ్య పేరు
    ప్రశ్న –
    నా గ్రాఫ్ లో ఉంటే, నేను ఒక స్థితిని కౌంట్ కానీ చాలావాటికి లెక్కలోనికి ఒక వేరియబుల్ కావలెను?
    ఈ విధంగా, ఉదాహరణకు నేను కలిగి ఉంటే —
    <XSL:variable name="RequestsInitialized"
    select="count(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ స్థితి)=’WIP’])" />
    –విషయం, I want it to count instances of ‘WIP’, but i also want this variable to count something else like ‘Pending Review’.. how would i do this?
    ధన్యవాదాలు!
  5. మూర్తులు శ్రీరంగం
    ఎక్కువ పాల్,
    Iam really this is really a great effort by you. మీరు ఈ కోడ్ పోస్ట్ ఎక్కడ దయచేసి వివరించండి చేయవచ్చు. నేను నాలుగు కొత్త ఫైళ్ళను ఒక prjoect సృష్టించారు. అప్పుడు మీరు ఏమి చెయ్యాలి మరింత వివరంగా వివరిస్తారు.
    ధన్యవాదాలు
    మూర్తులు
  6. ఆండ్రూ కార్రింగ్టన్
    ఎక్కువ, నేను యూజర్ సమాచారం వ్యతిరేకంగా ఒక పని జాబితాలో విధులను గ్రాఫ్ ప్రదర్శించే కొద్దిగా కాబట్టి ఈ సవరించడానికి ప్రయత్నిస్తాను. ఇది ఒక యూజర్ ఉనికిని కాలమ్ ఇది @ AssignedTo అనే కాలమ్ ఉపయోగిస్తుంది. నేను టెహ్ ఇది విలువలు లెక్కించేందుకు మరియు ప్రదర్శించడానికి పొందుటకు HTML కానీ పరి భాష అన్వయించ ప్రదర్శించడానికి పొందవచ్చు.
    ఏ ఆలోచనలు?
    ధన్యవాదాలు
    ఆండీ
  7. Patrik లూకా రాశాడు:
    ఎక్కువ పాల్,
    గొప్ప పోస్ట్!
    ఒక ప్రశ్నను:
    నేను అదే సమయంలో రెండు రంగాలలో ఫిల్టర్ కోరుకుంటున్నారో: ఎలా ఈ సాధించవచ్చు?
    ఉదాహరణకు, మీ చరరాశుల ఒక totalStalled అని మరియు అది @ స్థితిపై వేరు ఉంది.
    నేను మరొక రంగంలో తిరిగి రికార్డులను నా తగ్గించడానికి అదే సమయంలో ఫిల్టర్ కోరుకుంటున్నారో.
    I already found how to make an ‘OR’, but I donnot manage to find the ‘AND
    An ‘OR’ ఈ వంటి సాధించవచ్చు:
    <XSL:variable name="totalStalled" select="count(/dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ స్థితి) = ‘Stalled’] | /dsQueryResponse / వరుసలు / రో[సాధారణీకరణ-space(@ ExtraFilterField) = ‘value’])" />
  8. నిష్కపటమైన

    I have a ‘Using Dashboards in SharePoint’ ప్రశ్న. We are a military hospital using MOSS standard for our Intranet and would like to build a dashboard for our Command Group to see ‘real time’ సాధ్యమైతే. ప్రధాన పాయింట్లు ఒకటి సౌకర్యం లోపల వాస్తవ సమయం ప్రస్తుత శ్రమను చూసేందుకు వాచ్యంగా అది డౌన్ మార్చడానికి మరియు చూడటానికి ఉంది (క్లిక్ ఉండవచ్చు “భర్తీ చేయు”/F5).

    ముందుగానే ధన్యవాదాలు,

    1. పాల్ గాల్విన్ పోస్ట్ రచయిత

      మీరు ఈ ప్రభావం సాధించడానికి j క్వెరీ తో ఉపయోగకరమైన ఏదో ఒకటి చెయ్యాలి. వద్ద నాకు ఇమెయిల్ galvin.paul @ gmail.com మరియు నేను ప్రయత్నించండి ఆనందంగా మరియు ఒక చేతి ఇస్తాము.

ఒక Reply వదిలి ఆగ్నెస్ మోల్నార్ ప్రత్యుత్తరం రద్దు

మీ ఇమెయిల్ చిరునామా ప్రచురితమైన కాదు. లు గుర్తించబడతాయి *