Επισκόπηση:
(Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ 12/04/07: Προστεθεί μια άλλη ενδιαφέρουσα πηγή στο τέλος σύνδεση σε ένα άλλο blog που ασχολείται με αυτό μέσω ενός πολύ ενδιαφέρουσα τμήματος web)
Αυτό το ιστολόγιο εισόδου περιγράφει πώς να δημιουργήσετε ένα γράφημα ράβδων στο SharePoint. Αυτό λειτουργεί τόσο WSS, και ΒΡΎΟ περιβάλλον, καθώς εξαρτάται μόνο από το τμήμα web προβολής δεδομένων.
Η συνολική προσέγγιση που έχει ως εξής:
- Δημιουργία μιας λίστας ή βιβλιοθήκης εγγράφων που περιέχει τα δεδομένα που θέλετε να.
- Τοποθετήστε τη βιβλιοθήκη του συσχετιζόμενου εγγράφου / προσαρμοσμένη λίστα επάνω σε μια σελίδα και να το μετατρέψει σε ένα τμήμα web προβολής δεδομένων (DVWP).
- Τροποποιήσετε το DVWP XSL για τη δημιουργία HTML που παρουσιάζει ως ένα γράφημα.
Επιχειρηματικό σενάριο / Εγκατάστασης:
Έχω δημιουργήσει μια προσαρμοσμένη λίστα με πρότυπο στήλη τίτλος και μία πρόσθετη στήλη, "Κατάσταση". Αυτά τα πρότυπα (πολύ απλουστευτικά) "άδεια για δαπάνη" σενάριο όπου ο τίτλος αντιπροσωπεύει το έργο και το καθεστώς μια τιμή από τη λίστα των:
- Προτείνει
- Στη διαδικασία
- Αδιέξοδο
Ο στόχος είναι να παράγει μια διαδραστική οριζόντιο ραβδόγραμμα που δείχνει αυτούς τους κωδικούς κατάστασης.
Εγώ έχουν πληθυσμό τον κατάλογο και να μοιάζει με αυτό:
Δημιουργήσετε το τμήμα Web προβολής δεδομένων:
Δημιουργήστε το DVWP με την προσθήκη την προσαρμοσμένη λίστα σε μια σελίδα (στη δική μου περίπτωση της ιστοσελίδας) και ακολουθήστε τις οδηγίες Εδώ (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).
Εκτός από απλά τη δημιουργία του DVWP, πρέπει επίσης να ορίσετε την ιδιότητα σελιδοποίησης για να δείξει όλες τις διαθέσιμες γραμμές. Για μένα, Αυτό φαίνεται κάτι σαν αυτό:
Σε αυτό το σημείο, Κλείνω πάντα το SPD και το πρόγραμμα περιήγησης. Στη συνέχεια ανοίξτε εκ νέου την σελίδα χρησιμοποιώντας τη μηχανή αναζήτησης. Αυτό αποφεύγει κατά λάθος χαλάει την δικτυακή διάταξη μέρος στη σελίδα.
Τροποποιήσετε XSLT:
Είναι πλέον καιρός να τροποποιήσετε XSLT.
Χρησιμοποιώ πάντα το οπτικό στούντιο για αυτό. (Δείτε Εδώ για μια σημαντική σημείωση για intellisense που θα σας βοηθήσει πολύ).
Μπορώ να δημιουργήσω ένα κενό έργο προσθέσετε τέσσερα νέα αρχεία (αντικαθιστώντας τις λέξεις "πρωτότυπο" και νέα"" ανάλογα με την περίπτωση):
- Original.XSLT
- New.XSLT
- Αρχική Params.xml
- Νέα Params.xml
Στην περίπτωσή μου, μοιάζει με αυτό:
Τροποποιήσει το τμήμα web και να αντιγράψετε το params και XSL στο αρχικό"" έκδοση του Visual Studio.
Ο στόχος εδώ είναι να προκαλέσει το XSL για να μετατρέπει τα αποτελέσματα που έχουμε πάρει πίσω από το ερώτημα DVWP στην HTML που καθιστά ως ένα γράφημα.
Για το σκοπό αυτό, βοηθά να εξετάσουμε πρώτα τι η HTML πρέπει να μοιάσει με προτού εμείς να μπερδευτεί από την παραφροσύνη που είναι γνωστό ως "XSL". (Για να είμαι σαφής, το ακόλουθο είναι απλά ένα παράδειγμα; Μην πληκτρολογείτε ή copy/paste στο οπτικό στούντιο. Παρέχω ένα πλήρες χτύπημα αφετηρία για αυτό αργότερα στο το write-up). Στο ακόλουθο γράφημα δείγμα αποδίδεται σύμφωνα με τον κώδικα HTML, αμέσως μετά:
Αντίστοιχη HTML:
<HTML> <οργανισμός> <κέντρο> <Πίνακας πλάτος = 80%> <TR><TD><κέντρο>Οριζόντιο ραβδόγραμμα</TD></TR> <TR> <TD align = "center"> <τραπέζι σύνορα = "1" πλάτος = 80%> <TR> <πλάτος TD = 10%>Ανοικτή</TD> <TD><Πίνακας cellpadding ="0" cellspacing ="0" σύνορα = 0 πλάτος = 50%><χρώμα φόντου TR = κόκκινο><TD> </TD></TR></Πίνακας></TD> </TR> <TR> <πλάτος TD = 10%>Κλειστό</TD> <TD><Πίνακας cellpadding ="0" cellspacing ="0" σύνορα = 0 πλάτος = 25%><χρώμα φόντου TR = κόκκινο><TD> </TD></TR></Πίνακας></TD> </TR> <TR> <πλάτος TD = 10%>Αδιέξοδο</TD> <TD><Πίνακας cellpadding ="0" cellspacing ="0" σύνορα = 0 πλάτος = 25%><χρώμα φόντου TR = κόκκινο><TD> </TD></TR></Πίνακας></TD> </TR> </Πίνακας> </TD> </TR> </Πίνακας> </οργανισμός> </HTML> |
Χρησιμοποίησα ένα νεκρό απλό προσέγγιση για τη δημιουργία μου μπαρ ορίζοντας το χρώμα του φόντου μιας γραμμής σε "κόκκινο".
Το take-away εδώ είναι αυτό: Στο τέλος, το μόνο που κάνουμε είναι η δημιουργία HTML με γραμμές και στήλες.
Πρότυπο XSLT:
Έχω αντιγράψει XSLT που παράγει ένα οριζόντιο ραβδόγραμμα. Είναι αρκετά καλά σχολίασε έτσι εγώ δεν θα προσθέσει πολύ εδώ εκτός από αυτές τις σημειώσεις:
- Ξεκίνησα με την προεπιλογή XSL που SharePoint Designer μου έδωσε όταν δημιούργησα πρώτα το DVWP.
- Ήμουν σε θέση να περιορίσει αυτό από του SPD 657 γραμμές να 166 γραμμές.
- Δεν χαζεύω με το αρχείο παραμέτρων XML (που είναι ξεχωριστό από το XSL και να γνωρίζετε τι εννοώ όταν θα πάτε να τροποποιήσετε το DVWP ίδια; Υπάρχουν δύο αρχεία που μπορείτε να τροποποιήσετε). Ωστόσο, να την απλοποιήσει, Σχεδόν όλοι τους έκανα το αφαιρέσετε από το XSL. Αυτό σημαίνει ότι αν θέλετε να κάνετε χρήση εκείνων των παραμέτρων, πρέπει ακριβώς να αυξάνω τους ορισμούς της μεταβλητής πίσω το XSL. Που θα είναι εύκολο, δεδομένου ότι θα έχετε το αρχικό ορισμοί μεταβλητών XSL σε σας οπτικός στούντιο προβλημένος.
- Θα έπρεπε να είναι σε θέση να αντιγράψετε και να επικολλήσετε αυτό απευθείας σε σας οπτικός στούντιο προβλημένος. Στη συνέχεια, Αφαιρέστε τις κλήσεις μου και τοποθετήστε το δικό σας ζητεί να "ShowBar".
- Το τρυπάνι κάτω έργων δημιουργώντας ένα <a href> Σαν αυτό: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Αυτή η τεχνική μπορεί να είναι του τιμή σε άλλα πλαίσια. Κατά την πρώτη, Σκέφτηκα ότι θα πρέπει να είναι σύμφωνες με μια πιο σύνθετη μορφή: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, αλλά στο περιβάλλον μου ότι δεν είναι απαραίτητο. Ο κατάλογος URL είναι πέρασε σε μας από το SharePoint, έτσι αυτό είναι αρκετά εύκολο να γενικεύσουμε.
Εδώ είναι:
<XSL:stylesheet έκδοση="1.0" εξαίρεση-αποτέλεσμα-προθέματα="RS z o s ν dt msxsl" |
Τα αποτελέσματα:
Το XSL από ψηλά δημιουργεί αυτό το γράφημα:
Τρυπάνι κάτω σε το υποκείμενο των δεδομένων, κάνοντας κλικ στο ο κωδικός κατάστασης:
Συμπερασματικές σκέψεις:
Μπορεί αυτό να γενικευθεί?
Μου αρέσει αυτή η γραφική έννοια, αλλά μισώ το γεγονός ότι πρέπει να πάει και να κάνει τόσο πολύ χέρι-κωδικοποίησης. Έχω δώσει μια μικρή σκέψη, κατά πόσον μπορεί να γενικευθεί και να είμαι αισιόδοξος, αλλά, επίσης είμαι λίγο φοβισμένη ότι μπορεί να υπάρξει ένα τοίχο από τούβλα κάπου κατά μήκος της διαδρομής που δεν θα προσφέρουν κάθε έργο-γύρω. Αν κάποιος έχει κάποιες καλές ιδέες σχετικά με αυτό, Παρακαλώ κάνετε ένα σημείωμα στα σχόλια ή email μου.
Κάθετη γραφήματα:
Πρόκειται για ένα οριζόντιο ραβδόγραμμα. Είναι βεβαίως δυνατό να δημιουργήσετε ένα γράφημα κάθετη. Εμείς απλά πρέπει να αλλάξετε τον κώδικα HTML. Θα ήθελα να ξεκινήσω τον ίδιο τρόπο: Δημιουργήστε μια αντιπροσώπευση HTML από ένα κατακόρυφο ραβδόγραμμα και στη συνέχεια να καταλάβω πώς να πάρει ότι μέσω XSL. Εάν κάποιος is ενδιαφερόμενοs σε αυτό, Ίσως πεισθώ να δοκιμάσουν και της εργασίας τις συστροφές. Αν κάποιος έχει κάνει ήδη, please let me know and I’ll gladly link to your blog 🙂
Νομίζω ότι η πρόκληση με μια κάθετη γραφική παράσταση είναι ότι οι ετικέτες για το γράφημα είναι πιο δύσκολο να διαχειριστεί, αλλά σίγουρα δεν είναι αδύνατο.
Του πεδίου όνομα Gotcha:
Υπάρχουν τουλάχιστον δύο πράγματα για να κοιτάξει έξω με σας ονόματα πεδίων.
Πρώτη, ένα όνομα πεδίου με ένα διάστημα πρέπει να φυγεῖν σε το XSL. Αυτό πιθανότατα θα αποτελέσει ένα θέμα εδώ:
<XSL:μεταβλητή Όνομα="totalProposed"
Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status) = «Προτείνει»])" />
Αν σας κατάσταση"" στήλη είναι πραγματικά το όνομα "κωδικός κατάστασης" τότε θα πρέπει να αναφέρονται ως "Status_x0020_Code":
<XSL:μεταβλητή Όνομα="totalProposed"
Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status_x0020_Code) = «Προτείνει»])" />Δεύτερη, και είμαι λίγο ασαφής σχετικά με αυτό, αλλά πρέπει επίσης να είστε σε επιφυλακή για το πεδίο "Επαληθεύτηκε" όνομα. Εάν εσείς το όνομα σας το πεδίο "κωδικός κατάστασης" και στη συνέχεια, αργότερα, Μετονομάστε το σε "Κατάσταση AFE", το εσωτερικό όνομα"" δεν αλλάζει. Το εσωτερικό όνομα θα εξακολουθεί να είναι "κωδικός κατάστασης" και πρέπει να αναφέρεται ως "Status_x0020_Code". Οι "άλλοι πόροι" Σύνδεσμοι μπορεί να βοηθήσει τη διάγνωση και διόρθωση του προβλήματος.
Σχετικά με αυτό το χρώμα:
Πήρα το "κόκκινο" επειδή είναι ευχάριστο για μένα αυτή τη στιγμή. Δεν θα ήταν μια μεγάλη υπόθεση για να δείξει τα διαφορετικά χρώματα, έτσι ώστε να παρέχουν περισσότερο από ακριβώς μια οπτική περιγραφή ενός αριθμού, αλλά να παρέχουν επίσης μια χρήσιμη KPI. Για παράδειγμα, Εάν το ποσοστό των «αδιέξοδο" Είναι του AFE > 10% στη συνέχεια να δείξει κόκκινο, έδειχνε σε μαύρο χρώμα. Χρήση <XSL:Επιλέξτε> για να επιτευχθεί αυτό.
Άλλων πόρων:
- Καθορίσει το εσωτερικό όνομα (και άλλες καλές πληροφορίες) για τα δεδομένα σε μια λίστα: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!134.entry
- Εμφάνιση όλα τα δεδομένα που παρέχονται από SharePoint (το ακατέργαστο XML): http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!190.entry
- Πάρετε την έκφραση XPATH ειδικής στήλης: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!155.entry
- Μια άλλη προσέγγιση, χρησιμοποιώντας το OWA(?). Έσκαψα δεν σε αυτό, αλλά φαίνεται πολλά υποσχόμενη, ειδικά για τα γραφήματα πίτας: http://www.waka.dk/Blog/PermaLink,guid,e2532e71-d774-4ac9-8f25-883964b830f4.aspx
Ευτυχής μετασχηματισμός!
<Τέλος />
Αυτή η σελίδα σχεδόν ολοκληρωθεί το έργο που έψαχνα.
Έχω μια ομάδα που θέλει να χρησιμοποιήσει τη λίστα SharePoint έρευνα για να δημιουργήσετε μια εβδομαδιαία δημοσκόπηση. Τα αλιεύματα? Δεν θέλουν να δείτε κώδικα… Ή να αλλάξετε το σύστημα κάθε φορά που στέλνουν την δημοσκόπηση (προγραμματιστεί για μια εβδομαδιαία ενημέρωση).
Ήμουν σε θέση να συνδεθείτε αυτό στον κατάλογο έρευνα και να δημιουργήσετε το γράφημα στην πρώτη στήλη απάντηση. Δεν προβλέπω είναι, όμως, τις αξίες και τις ετικέτες που θα χρειάζονται κινείται προς τα εμπρός. Να κάνει τα πράγματα χειρότερα μπορεί να έχουν περισσότερο ή λιγότερο διαθέσιμες απαντήσεις κάθε εβδομάδα.
Θα κοιτάζω αλλού μόνο στην περίπτωση, αλλά έχει βρεθεί ένας τρόπος για να δημιουργήσετε γραμμές και ετικέτες που βασίζονται στα ανοικτά από τον αριθμό των διαθέσιμες επιλογές και δυναμικά τον καθορισμό αυτά και όχι σκληρά κωδικοποίηση τις αναμενόμενες τιμές?
Ευχαριστώ Παύλοs. Πολύ χρήσιμο. Χάρη στην εργασία σας, Ήμουν σε θέση να προσθέσετε μια στήλη μπαρ γράφημα σε ένα υπάρχον DVWP (π.χ.. για εργασίες) πολύ εύκολα με λίγες γραμμές του κώδικα σας.
Στο SharePoint Designer, Τοποθέτησα μια προβολή δεδομένων με τον τίτλο και % πλήρης στήλες από μια λίστα εργασιών. Έβαλα το δρομέα σε ένα από τα κύτταρα και κάντε δεξί κλικ. Εγώ επιλέξτε Εισαγωγή μια στήλη προς τα δεξιά. Στην προβολή code, Βρήκα το <TD> και αντικατέστησε το <XSL:στοιχείο κειμένου μέσα στο κύτταρο με τον κωδικό σας:
<Πίνακας cellpadding ="0" cellspacing ="0" σύνορα ="0"
Πλάτος = "{γύρο(@PercentComplete * 100)+1}%">
<TR style = "υπόβαθρο-χρώμα:κόκκινο">
<XSL:κείμενο απενεργοποίηση-εξόδου-διαφυγή = "Ναι"><![CDATA[ ]]></XSL:κείμενο>
</TR>
</Πίνακας>
Σημείωση, έχω αλλάξει τον κωδικό χρώματος γραμμής από χρώμα φόντου = "κόκκινο" να style = "υπόβαθρο-χρώμα:κόκκινο"
Επίσης, ήταν σε θέση να επιλέξετε μία από τις στήλες στη λίστα μου (@PercentComplete) στη θέση "$BarPercent"
Greg
Μια άλλη μέθοδος (χρησιμοποιούν μόνο το UI του SharePoint):
http://pathtosharepoint.wordpress.com/2008/09/02/a-progress-bar-for-your-tasks-list/
http://pathtosharepoint.wordpress.com/2008/10/21/progress-bar-color-coding/
xmlns:__designer =http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:ASP ="http://schemas.microsoft.com/ASPNET/20">
Επιλέξτε = "count(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status)= «ΠΣΕ»])" />
http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=701Ian Morrish αυτό δημοσιεύτηκε τον Μάιο 2006. Εγώ προσπάθησα σε βρύα 2007 και λειτουργεί καλά. Αύξησα το GAC, έπρεπε να execadmsvcjobs και iisreset…
Μεγάλη θέση, Ευχαριστώ!
Μεγάλη θέση, Ευχαριστώ!
Γεια σου Paul!
Ωραία δουλειά! I also had something like this in my mind to view SharePoint lists in a graphical way 😉
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).
Ευχαριστώ εκ των προτέρων,
Μπορείτε να κάνετε κάτι χρήσιμο με jQuery για να επιτευχθεί αυτό το αποτέλεσμα. Ηλεκτρονικό ταχυδρομείο εμένα σε Galvin.Paul@Gmail.com και θα χαρώ πολύ να προσπαθήσει να δώσει ένα χέρι.