SharePoint में बार रेखांकन बनाएँ

अवलोकन:

(अद्यतन 12/04/07: अंत में एक और ब्लॉग है कि यह पता लगाता है के माध्यम से एक बहुत ही दिलचस्प वेब पार्ट को जोड़ने के एक और दिलचस्प संसाधन में जोड़ा)

इस ब्लॉग प्रविष्टि में SharePoint एक पट्टी ग्राफ़ बनाने के लिए कैसे का वर्णन करता है. यह केवल डेटा दृश्य वेब पार्ट पर निर्भर करता है के रूप में यह दोनों WSS और MOSS के वातावरण में काम करता है.

समग्र दृष्टिकोण इस प्रकार है:

  1. ग्राफ़ करें करने के लिए इच्छित डेटा वाला एक सूची या दस्तावेज़ लायब्रेरी बनाएँ.
  2. संबद्ध दस्तावेज़ लाइब्रेरी प्लेस / कस्टम सूची पृष्ठ पर और यह एक डेटा दृश्य वेब पार्ट करने के लिए कनवर्ट करें (DVWP).
  3. DVWP XSL एक ग्राफ के रूप में पता चलता है कि HTML जनरेट करने के लिए संशोधित करें.

व्यापार परिदृश्य / सेटअप:

मैं एक कस्टम सूची के साथ मानक शीर्षक स्तंभ और एक अतिरिक्त स्तंभ बनाया है, "स्थिति". इस मॉडल (बहुत ही simplistically) एक "प्राधिकरण के खर्च के लिए" परिदृश्य जहाँ शीर्षक परियोजना और स्थिति मान की सूची से प्रतिनिधित्व:

  • प्रस्तावित
  • प्रक्रिया में
  • ठप

एक इंटरैक्टिव क्षैतिज पट्टी ग्राफ़ इन स्थिति कोड पता चलता है कि उत्पादन के लिए उद्देश्य है.

मैं सूची पॉपुलेटेड है और यह इस तरह दिखता है:

छवि

डेटा दृश्य वेब पार्ट बनाना:

एक पृष्ठ पर कस्टम सूची को जोड़कर DVWP बनाएँ (मेरे मामले में साइट पेज) और दिए गए निर्देशों का पालन करें यहाँ (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

बस DVWP बनाने के साथ, हम भी सभी उपलब्ध पंक्तियों को दिखाने के लिए पेजिंग गुण सेट करने की आवश्यकता है. मेरे लिए, यह कुछ इस तरह दिखता है:

छवि

इस बिंदु पर, मैं हमेशा एसपीडी और ब्राउज़र बंद करें. मैं तब ब्राउज़र का उपयोग कर पेज पुनः खोलना. इस पेज पर वेब पार्ट लेआउट अप अकस्मात mucking से बचा जाता है.

XSLT संशोधित करें:

अब यह समय XSLT संशोधित करने के लिए है.

मैं हमेशा इस बात के लिए दृश्य स्टूडियो उपयोग. (देखें यहाँ intellisense कि तुम एक बहुत मदद मिलेगी के बारे में के लिए एक महत्वपूर्ण नोट).

मैं एक रिक्त प्रोजेक्ट बनाने चार नई फ़ाइलें जोड़ें ("मूल शब्दों की जगह" और "नया" उचित रूप में):

  • Original.xslt
  • New.xslt
  • मूल Params.xml
  • नया Params.xml

मेरे मामले में, यह इस तरह दिखता है:

छवि

वेब पार्ट को संशोधित करें और params और XSL मूल"करने के लिए प्रतिलिपि बनाएँ" Visual Studio में संस्करण.

हम वापस कि एक ग्राफ के रूप में renders HTML में DVWP क्वेरी से प्राप्त परिणामों को बदलने के लिए XSL पैदा करने के लिए यहाँ उद्देश्य है.

यह अंत करने के लिए, इसे पहले इससे पहले कि हम "XSL के रूप में" ज्ञात है कि पागलपन से उलझन में मिल क्या HTML की तरह दिखना चाहिए पर विचार करने में मदद करता है. (स्पष्ट होना करने के लिए, बस एक उदाहरण निम्न है; नहीं इसे टाइप या कॉपी/दृश्य स्टूडियो में चिपकाएँ. मैं एक पूरा झटका उस के लिए बाद में लिखने में प्रारंभिक बिंदु प्रदान करते हैं). निम्न नमूना ग्राफ के तुरंत बाद HTML के अनुसार गाया है:

Sample Bar Graph

संगत HTML:

<html>
<शरीर>
<केंद्र>
<तालिका चौड़ाई = 80%>
<टी. आर.><td><केंद्र>क्षैतिज पट्टी ग्राफ़</td></टी. आर.>
<टी. आर.>
<टीडी संरेखित करें = "सेंटर">
<तालिका बॉर्डर = "1" चौड़ाई = 80%>
<टी. आर.>
<टीडी चौड़ाई = 10%>खुला</td>
<td><तालिका cellpadding ="0" cellspacing ="0" बॉर्डर चौड़ाई 0 = = 50%><tr bgcolor = लाल><td>&nbsp;</td></टी. आर.></तालिका></td>
</टी. आर.>
<टी. आर.>
<टीडी चौड़ाई = 10%>बंद कर दिया</td>
<td><तालिका cellpadding ="0" cellspacing ="0" बॉर्डर चौड़ाई 0 = = 25%><tr bgcolor = लाल><td>&nbsp;</td></टी. आर.></तालिका></td>
</टी. आर.>
<टी. आर.>
<टीडी चौड़ाई = 10%>ठप</td>
<td><तालिका cellpadding ="0" cellspacing ="0" बॉर्डर चौड़ाई 0 = = 25%><tr bgcolor = लाल><td>&nbsp;</td></टी. आर.></तालिका></td>
</टी. आर.>
</तालिका>
</td>
</टी. आर.>
</तालिका>
</शरीर>
</html>

मैं एक मरा सरल दृष्टिकोण के "रेड" के लिए एक पंक्ति का पृष्ठभूमि रंग सेट करके मेरी सलाखों के बनाने के लिए इस्तेमाल किया.

यह है लेने दूर यहाँ है: अंत में, सब हम क्या कर रहे हैं HTML बनाना है पंक्तियों और स्तंभों के साथ.

टेम्पलेट XSLT:

मैं एक क्षैतिज पट्टी ग्राफ़ उत्पन्न XSLT नकल है. यह काफी अच्छी तरह से है टिप्पणी की है तो मैं बहुत इन नोटों को छोड़कर यहाँ जोड़ नहीं होगा:

  • मैं डिफ़ॉल्ट XSL कि SharePoint डिजाइनर मुझे दे दिया जब मैं पहली बार DVWP बनाया के साथ शुरू कर दिया.
  • मैं इस एसपीडी से नीचे कट कर रहा था 657 लाइनों के लिए 166 लाइनों.
  • मैं पैरामीटर XML फ़ाइल के साथ चारों ओर गंदगी नहीं था (जो XSL से अलग है और आप जब तुम DVWP खुद को संशोधित करने के लिए जाना है कि मैं क्या मतलब पता चल जाएगा; वहाँ दो फ़ाइलें आप संशोधित कर सकते हैं). हालांकि, आदेश में यह आसान बनाने के लिए, मैं उनमें से लगभग सभी XSL से दूर किया. इसका मतलब यह है कि यदि आप चाहते हैं उन मापदंडों का उपयोग करें, तुम बस अपने चर परिभाषाएँ XSL को वापस जोड़ने के लिए की जरूरत है. चूंकि आप अपने दृश्य स्टूडियो परियोजना में मूल XSL चर परिभाषाएँ होगा कि आसान हो जाएगा.
  • आप की प्रतिलिपि बनाएँ और यह सीधे आपके दृश्य स्टूडियो परियोजना में चिपकाएँ करने में सक्षम होना चाहिए. तब, मेरे कॉल निकालें और "ShowBar" करने के लिए अपने स्वयं कॉल सम्मिलित करें.
  • बनाने के द्वारा काम करता है नीचे ड्रिल एक <एक href> इस तरह: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. इस तकनीक अन्य संदर्भों में मूल्य की जा सकती. पहली बार में, मैंने सोचा कि मैं एक और अधिक जटिल स्वरूप के अनुरूप करने के लिए की आवश्यकता होगी: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, लेकिन मेरे वातावरण में आवश्यक नहीं है कि. यह काफी आसान के लिए सामान्य है, तो सूची URL करने के लिए हमें SharePoint द्वारा पारित हो जाता है.

यहाँ यह है:

<xsl:शैली पत्रक संस्करण="1.0" शामिल नहीं करें-परिणाम-उपसर्ग="रु z o एस ddwrt डीटी msxsl" 
xmlns:msxsl="कलश:स्कीमा microsoft com:xslt" xmlns:xsl="http://www.w3.org/ 1999/XSL/रूपांतर"
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:ओ="कलश:स्कीमा microsoft com:कार्यालय" xmlns:एस="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:डीटी="uuid:C2F41010-65B3 - 11d 1-A29F-00AA00C14882" xmlns:रु="कलश:स्कीमा microsoft com:rowset" xmlns:z="#RowsetSchema"
xmlns:ddwrt2="कलश:frontpage:आंतरिक"
> <xsl:आउटपुट विधि="html" इंडेंट="नहीं" /> <xsl:दशमलव स्वरूप नेन="" /> <xsl:परम नाम="ListUrlDir"></xsl:परम> <!-- मैं इस एक ड्रिल-डाउन का समर्थन करने के लिए की आवश्यकता. --> <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/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status) 'प्रस्तावित' =])" /> <xsl:चर नाम="percentProposed" का चयन करें="$totalProposed div $dvt_RowCount" /> <xsl:चर नाम="totalInProcess" का चयन करें="गिनती(/dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status) 'प्रक्रिया में' =])" /> <xsl:चर नाम="percentInProcess" का चयन करें="$totalInProcess div $dvt_RowCount" /> <xsl:चर नाम="totalStalled" का चयन करें="गिनती(/dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status) 'रुक' =])" /> <xsl:चर नाम="percentStalled" का चयन करें="$totalStalled div $dvt_RowCount" /> <!-- हम हमारे HTML तालिका यहाँ परिभाषित करें. मैं इसे लगातार करने के लिए कुछ मानक SharePoint शैलियों से यहाँ उधार रहा. मुझे लगता है कि यह रूप में अच्छी तरह के रूप में थीम को ओवरराइड करता है वैश्विक सीएसएस फ़ाइल में किए गए परिवर्तन सम्मान होगा. --> <तालिका चौड़ाई="100%" cellspacing="0" cellpadding="2" शैली="बॉर्डर-दाएँ: 1 ठोस #C0C0C0; सीमा-नीचे: 1 ठोस #C0C0C0; सीमा-बाएँ-शैली: ठोस; बॉर्डर-बाएँ-चौड़ाई: 1; सीमा-शीर्ष-शैली: ठोस; सीमा-शीर्ष-चौड़ाई: 1;"> <टी. आर.> <td संरेखित करें="केंद्र"> <तालिका बॉर्डर="1" चौड़ाई="100%"> <!-- कि हम ग्राफ़ करें करने के लिए चाहते हैं के लिए प्रत्येक स्थिति, हम कहते हैं "ShowBar" टेम्पलेट. हम इसे पारित: 1. पंक्ति के लिए एक लेबल. यह एक हाइपरलिंक में तब्दील हो जाता है. 2. प्रतिशत (ऊपर से चर). 3. अंतर्निहित सूची से कोड का वास्तविक फ़ील्ड नाम. यह प्रदर्शन लेबल से मेल खाते की आवश्यकता नहीं है. 4. फ़ील्ड मान के लिए मिलान #3. 5. यह स्थिति कोड की कुल आइटम्स (नहीं सभी स्थिति कोड का कुल योग). उत्सर्जन करता है यह एक <टी. आर.></टी. आर.> और क्षैतिज पट्टी ग्राफ़ रेखा. हम इस टेम्पलेट के लिए प्रत्येक स्थिति कोड हम को देखने के लिए चाहते हैं कॉल. --> <xsl:कॉल-टेम्पलेट नाम="ShowBar"> <xsl:परम के साथ नाम="BarDisplayLabel" का चयन करें="'' का प्रस्ताव"/> <xsl:परम के साथ नाम="BarPercent" का चयन करें="$percentProposed"/> <xsl:परम के साथ नाम="QueryFilterFieldName" का चयन करें="'स्थिति'"/> <xsl:परम के साथ नाम="QueryFilterFieldValue" का चयन करें="'' का प्रस्ताव"/> <xsl:परम के साथ नाम="TotalItems" का चयन करें="$totalProposed"></xsl:परम के साथ> </xsl:कॉल-टेम्पलेट> <xsl:कॉल-टेम्पलेट नाम="ShowBar"> <xsl:परम के साथ नाम="BarDisplayLabel" का चयन करें="'स्थगित'"/> <xsl:परम के साथ नाम="BarPercent" का चयन करें="$percentStalled"/> <xsl:परम के साथ नाम="QueryFilterFieldName" का चयन करें="'स्थिति'"/> <xsl:परम के साथ नाम="QueryFilterFieldValue" का चयन करें="'स्थगित'"/> <xsl:परम के साथ नाम="TotalItems" का चयन करें="$totalStalled"></xsl:परम के साथ> </xsl:कॉल-टेम्पलेट> <xsl:कॉल-टेम्पलेट नाम="ShowBar"> <xsl:परम के साथ नाम="BarDisplayLabel" का चयन करें="'प्रक्रिया में'"/> <xsl:परम के साथ नाम="BarPercent" का चयन करें="$percentInProcess"/> <xsl:परम के साथ नाम="QueryFilterFieldName" का चयन करें="'स्थिति'"/> <xsl:परम के साथ नाम="QueryFilterFieldValue" का चयन करें="'प्रक्रिया में'"/> <xsl:परम के साथ नाम="TotalItems" का चयन करें="$totalInProcess"></xsl:परम के साथ> </xsl:कॉल-टेम्पलेट> </तालिका> </td> </टी. आर.> </तालिका> </xsl:अन्यथा> </xsl:चुनें> </xsl:टेम्पलेट> <!-- इस टेम्पलेट की पट्टी ग्राफ़ में अलग-अलग लाइनों प्रदर्शित करने का कार्य करता है. तुम शायद अपने यहाँ tweaking के अधिकांश करता हूँ. --> <xsl:टेम्पलेट नाम="ShowBar"> <xsl:परम नाम="BarDisplayLabel" /> <!-- लेबल दिखाएँ --> <xsl:परम नाम="BarPercent"/> <!-- कुल का प्रतिशत. --> <xsl:परम नाम="QueryFilterFieldName"/> <!-- क्वेरी के लिए कूद करने के लिए प्रयुक्त & फ़िल्टर --> <xsl:परम नाम="QueryFilterFieldValue"/> <!-- क्वेरी के लिए कूद करने के लिए प्रयुक्त & फ़िल्टर --> <xsl:परम नाम="TotalItems" /> <!-- इस barlabel की कुल संख्या --> <टी. आर.> <!-- पट्टी ही लेबल. --> <td वर्ग="एमएस-formbody" चौड़ाई="30%"> <!-- इस बयान के अगले सेट एक अंतर्निहित डेटा के फ़िल्टर किए गए दृश्य के लिए नीचे ड्रिल करने के लिए हमें की अनुमति देता है एक क्वेरी स्ट्रिंग बनाता है. हम करना कुछ बातों का यहाँ का उपयोग करें: 1. हम FilterField1 और FilterValue1 पर एक स्तंभ फ़िल्टर करने के लिए एक सूची करने के लिए पारित कर सकते हैं. 2. SharePoint एक कुंजी पैरामीटर करने के लिए हमें गुजर रहा है, ListUrlDir कि अंतर्निहित सूची के खिलाफ जो इस DVWP "चल रहा है" के लिए अंक. XSL मज़ा नहीं है? --> <xsl:पाठ अक्षम करें आउटपुट बचने="हाँ"> <![CDATA[<एक 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"/> / <!-- यह हमारे लिए एक अच्छा प्रतिशत लेबल बनाता है. धन्यवाद, माइक्रोसॉफ्ट! --> <xsl:कॉल-टेम्पलेट नाम="percentformat"> <xsl:परम के साथ नाम="प्रतिशत" का चयन करें="$BarPercent"/> </xsl:कॉल-टेम्पलेट>) </td> <!-- अंत में, फेंकना एक <td> टैग पट्टी के लिए ही.--> <td> <तालिका cellpadding="0" cellspacing="0" बॉर्डर="0" चौड़ाई="{दौर($BarPercent * 100)+1}%"> <टी. आर. bgcolor="लाल"> <xsl:पाठ अक्षम करें आउटपुट बचने="हाँ"><![CDATA[&nbsp;]]></xsl:पाठ> </टी. आर.> </तालिका> </td> </टी. आर.> </xsl:टेम्पलेट> <!-- यह सीधे मैं एक एमएस टेम्पलेट में पाया कुछ XSL से लिया जाता है. --> <xsl:टेम्पलेट नाम="percentformat"> <xsl:परम नाम="प्रतिशत"/> <xsl:चुनें> <xsl:कब टेस्ट="संख्या स्वरूप($प्रतिशत, '#,##0%;-#,##0%')'नेन' =">0%</xsl:कब> <xsl:अन्यथा> <xsl:मान का का चयन करें="संख्या स्वरूप($प्रतिशत, '#,##0%;-#,##0%')" /> </xsl:अन्यथा> </xsl:चुनें> </xsl:टेम्पलेट> </xsl:शैली पत्रक>

परिणाम:

इस ग्राफ ऊपर से XSL उत्पन्न करता है:

छवि

स्थिति कोड पर क्लिक करके अंतर्निहित डेटा के लिए नीचे ड्रिल:

छवि

विचार समापन:

इस सामान्यीकृत किया जा कर सकते हैं?

मैं इस रेखांकन अवधारणा प्यार करता हूँ, लेकिन मैं इस तथ्य है कि मैं जाना है और इतना सारा हाथ-कोडिंग करते है नफरत. मैं दिया है चाहे इसे सामान्यीकृत किया जा सकता करने के लिए थोड़ा सोचा और मैं आशावादी हूँ, लेकिन मैं भी थोड़ा भयभीत कि कहीं किसी भी काम के आसपास की पेशकश नहीं होगा मार्ग के किनारे एक ईंट की दीवार हो सकता हूँ. अगर किसी को इस पर कुछ अच्छे विचार है, कृपया टिप्पणी में एक नोट बनाएँ या ईमेल मुझे.

अनुलंब रेखांकन:

यह एक क्षैतिज पट्टी ग्राफ़ है. यह निश्चित रूप से एक ऊर्ध्वाधर ग्राफ़ बनाने के लिए संभव है. हम सिर्फ परिवर्तन HTML करने के लिए की जरूरत है. मैं उसी तरह शुरू होगा: एक एक अनुलंब पट्टी ग्राफ़ के HTML प्रतिनिधित्व बनाएँ और तब कि XSL के जरिए पाने के लिए बाहर आंकड़ा. अगर किसी को उस में रुचि है, मैं इसे बाहर की कोशिश करो और kinks बाहर काम करने के लिए राजी किया जा सकता है. अगर किसी को पहले से ही किया है कि, please let me know and I’ll gladly link to your blog 🙂

मुझे लगता है कि एक ऊर्ध्वाधर ग्राफ के साथ चुनौती है कि ग्राफ के लिए लेबल्स का प्रबंधन करने के लिए और अधिक कठिन हैं, लेकिन निश्चित रूप से नहीं असंभव.

फ़ील्ड नाम पकड़ लिया:

वहाँ कम से कम दो बातें आपकी फ़ील्ड के नाम के साथ के लिए देखो करने के लिए कर रहे हैं.

प्रथम, XSL में बच गए किया जा करने के लिए एक स्थान के साथ एक फ़ील्ड नाम है. यह शायद एक मुद्दा यहाँ हो जाएगा:

        <xsl:चर नाम="totalProposed" 
का चयन करें="गिनती(/dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status) 'प्रस्तावित' =])" />

यदि आपकी स्थिति"" स्तम्भ वास्तव में "स्थिति कोड नाम दिया गया है" तो आप की जरूरत है इसे "Status_x0020_Code" के रूप में संदर्भित करने के लिए:

   <xsl:चर नाम="totalProposed" 
का चयन करें="गिनती(/dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status_x0020_Code) 'प्रस्तावित' =])" />

दूसरा, और मैं इस पर थोड़ा फजी हूँ, लेकिन तुम भी फ़ील्ड नाम परिवर्तन के लिए सतर्क होने की जरूरत. यदि आप अपने "स्थिति कोड फ़ील्ड नाम" और फिर बाद में, यह "AFE स्थिति" करने के लिए का नाम बदलें, "आंतरिक नाम" परिवर्तन नहीं करता है. आंतरिक नाम अभी भी "स्थिति कोड हो जाएगा" और "Status_x0020_Code" के रूप में संदर्भित किया जाना चाहिए. 'अन्य संसाधन" लिंक्स का निदान करें और इस तरह की समस्या को ठीक मदद कर सकते हैं.

उस रंग के बारे में:

मैं "लाल उठाया" क्योंकि यह इस वक्त मेरे पास भाता है. यह दिखाने के अलग अलग रंग के रूप में अधिक से अधिक सिर्फ एक संख्या का एक दृश्य विवरण उपलब्ध कराने के लिए एक बड़ा सौदा नहीं होगा, लेकिन इसके अलावा एक उपयोगी KPI प्रदान करने के लिए. उदाहरण के लिए, यदि का प्रतिशत "ठप" AFE की है > 10% तो यह लाल शो, अन्यथा यह काले रंग में दिखाएँ. का प्रयोग करें <xsl:चुनें> यह पूरा करने के लिए.

अन्य संसाधनों:

खुश को बदलने!

<अंत />

मेरे ब्लॉग के लिए सदस्यता लें!

17 पर विचार "SharePoint में बार रेखांकन बनाएँ

  1. क्रिस बी

    इस पृष्ठ के लिए मैं देख रहा था कार्य लगभग पूर्ण.

    मैं एक समूह है कि एक साप्ताहिक पोल बनाएँ करने के लिए SharePoint सर्वेक्षण सूची का उपयोग करने के लिए चाहता है. पकड़ो? वे कोड को देखने के लिए नहीं चाहते… या प्रणाली बदल हर बार वे सर्वेक्षण भेजें (की योजना बनाई है के लिए एक साप्ताहिक अद्यतन).

    मैं इस सर्वेक्षण सूची से कनेक्ट करने और पहले उत्तर स्तंभ पर ग्राफ़ बनाने के लिए कर रहा था. क्या मैं अनुमान नहीं लगा रहे हैं हालांकि मूल्यों और लेबलों कि वे आवश्यकता होगी आगे बढ़. मामलों बनाने के लिए भी बदतर है वे और अधिक या कम जवाब उपलब्ध प्रत्येक सप्ताह हो सकता है.

    मैं कहीं और सिर्फ मामले में दिखेगा, लेकिन किसी को पंक्तियों और उपलब्ध विकल्पों और ये गतिशील रूप से सेट करने के बजाय कड़ी मेहनत कोडिंग के मूल्यों की उम्मीद की संख्या के बंद आधारित लेबल बनाने के लिए एक रास्ता मिल गया है?

  2. ग्रेग Laushine

    धन्यवाद पॉल. बहुत ही उपयोगी. अपने काम के लिए धन्यवाद, मैं करने के लिए एक मौजूदा DVWP एक ग्राफ पट्टी स्तंभ जोड़ने में सक्षम था (जैसे. कार्यों के लिए) बहुत आसानी से अपने कोड की कुछ लाइनों के साथ.
    SharePoint डिज़ाइनर में, मैंने शीर्षक के साथ एक डेटा दृश्य सम्मिलित किया और % किसी कार्य सूची से स्तंभों को पूरा. मैं कर्सर कक्षों में से एक में डाल दिया और सही क्लिक करें. मैं का चयन दाईं ओर कोई स्तंभ सम्मिलित. कोड दृश्य में, मैंने पाया <td> और प्रतिस्थापित <xsl:अपने कोड के साथ कोशिका के अंदर पाठ तत्व:
    <तालिका cellpadding ="0" cellspacing ="0" सीमा ="0"
    चौड़ाई = "{दौर(@PercentComplete * 100)+1}%">
    <tr शैली = "पृष्ठभूमि-रंग:लाल">
    <xsl:पाठ निष्क्रिय-आउटपुट-बचने "हाँ" =><![CDATA[&nbsp;]]></xsl:पाठ>
    </टी. आर.>
    </तालिका>

    नोट मैं से bgcolor पंक्ति रंग कोड बदल दिया "लाल =" शैली = "पृष्ठभूमि-रंग:लाल"
    भी, मेरी सूची में स्तंभों में से एक का चयन करने में सक्षम था (@PercentComplete) "के स्थान पर $BarPercent"
    ग्रेग

  3. वोल्फगैंग
    पॉल, इस के लिए धन्यवाद! मैंने क्या किया था तुम एक सटीक प्रतिलिपि बनाई और इसे लगभग सही काम करता है. अपने कोड की पंक्ति 2 पैरा में एक छोटे मुद्दा था:
    <xsl:टेम्पलेट मैच = "/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
    xmlns:__designer =http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:एएसपी ="http://schemas.microsoft.com/ASPNET/20"&gt;
    तुम डाल करने की आवश्यकता http://schemas.microsoft.com/WebParts/v2/DataView/designer उद्धरण चिह्नों में.
    मैं कि यह जादू की तरह काम करता है सही करने के बाद! मैं अब यह मेरी अपनी सूची और स्थिति के लिए अनुकूल होगा, लेकिन मुझे यकीन है कि यह करने के लिए कठिन नहीं होगा. (मैं परिणाम पोस्ट करेंगे)
    एक बार फिर धन्यवाद
    ~ Wolle
  4. कोई नाम नहीं
    प्रश्न –
    अगर मेरा ग्राफ़ में क्या, मैं नहीं सिर्फ एक स्थिति की गणना, लेकिन एकाधिक वालों की गिनती करने के लिए एक चर चाहते थे?
    तो, उदाहरण के लिए क्या होगा अगर मैं था —
    <xsl:चर नाम "RequestsInitialized ="
    का चयन करें "गणना =(/dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status)'WIP' =])" />
    –बात यह है, मैं इसे 'WIP' की आवृत्तियों की गणना करना चाहते हैं, लेकिन मुझे भी कुछ 'की तरह लंबित समीक्षा' और गिनती के लिए इस चर चाहते हैं।. मैं यह कैसे होगा?
    धन्यवाद!
  5. मूर्ति Srirangam
    हाय पॉल,
    Iam वास्तव में यह वास्तव में एक महान प्रयास के द्वारा आप है. तुम जहाँ मैं इस कोड के बाद होगा समझाने कृपया कर सकते हैं. मैं एक prjoect चार नई फ़ाइलों के साथ बनाई गई है. फिर आप और अधिक विस्तार में क्या करना चाहिए समझा सकते हैं.
    धन्यवाद
    मूर्ति
  6. एंड्रयू Carrington
    नमस्ते, मैं इतना है कि यह उपयोगकर्ता जानकारी के खिलाफ एक कार्य सूची में कार्य का ग्राफ प्रदर्शित करता है यह थोड़ा संशोधित करने के लिए कोशिश कर रहा हूँ. यह एक उपयोगकर्ता उपस्थिति स्तंभ है जो @AssignedTo नामक एक स्तंभ का उपयोग करता है. मैं रेंडर किए गए HTML को प्रदर्शित करने के लिए इसे प्राप्त कर सकते हैं, लेकिन इसे की गणना और मूल्यों को प्रदर्शित करने के लिए प्राप्त नहीं कर सकता.
    किसी भी विचार?
    धन्यवाद
    एंडी
  7. Patrik Luca लिखा था:
    हाय पॉल,
    महान पोस्ट!
    एक प्रश्न:
    मैं एक ही समय में दो फ़ील्ड पर फ़िल्टर करने के लिए चाहते हैं: यह कैसे हासिल किया जा सकता?
    उदाहरण के लिए, एक अपने चर का totalStalled कहा जाता है और यह @Status पर फिल्टर.
    मैं एक ही समय में मेरे दूसरे फ़ील्ड पर दिए गए रिकॉर्ड्स की संख्या को कम करने के लिए फ़िल्टर करना चाहते हैं.
    मैं पहले से ही एक 'OR' बनाने के लिए कैसे पाया, लेकिन मैं donnot प्रबंधित करें खोजने के लिए ' और’
    एक ' या’ इस तरह प्राप्त किया जा सकता:
    <xsl:चर नाम "totalStalled =" का चयन करें "गणना =(/dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@Status) 'रुक' =] | /dsQueryResponse/पंक्तियों/पंक्ति[मानक के अनुसार अंतरिक्ष(@ExtraFilterField) = 'मान'])" />
  8. माइक culp
    धन्यवाद पॉल. भी एक नज़र यहाँ ले लो:

    http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=701इयान Morrish यह मई में तैनात 2006. मैं में काई की कोशिश की 2007 और यह अच्छी तरह से काम करता है. GAC को जोड़ा गया, execadmsvcjobs और iisreset को था…

  9. फ्रैंक

    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. पॉल Galvin पोस्ट लेखक

      तुम कुछ उपयोगी jQuery के साथ इस प्रभाव को पूरा करने के लिए कर सकते हैं. मुझे ईमेल में galvin.paul@gmail.com और मैं करने की कोशिश और एक हाथ देने के लिए खुश हो जाएगा.

कोई जवाब दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. अपेक्षित स्थानों को रेखांकित कर दिया गया है *