Σημείωση: αυτό δημοσιεύτηκε για πρώτη φορά στο www.endusersharepoint.com Εδώ: http://www.endusersharepoint.com/ 2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
Αυτό είναι ακόμα ένα άλλο blog θέση στη σύγκριση ημερομηνίες σε XSL σε ένα τμήμα web προβολής δεδομένων στο SharePoint.
Αυτό είναι το σενάριο μου:
- Έχω μια προσαρμοσμένη λίστα.
- Ο επαγγελματικός σκοπός του καταλόγου είναι να υποστηρίξει την ιδέα ενός νέου υπαλλήλου και των καθηκόντων του να ολοκληρωθεί εντός 7 ημερών από την έναρξη της εργασίας.
- Βρίσκονται σε μια «ζώνη προειδοποίηση» μετά από 4 ημέρες, αν δεν έχουν ακόμη συμπληρώσει αυτές τις εργασίες.
- Θέλω να δημιουργήσω μια απλή ταμπλό που δείχνει πράσινο όταν είτε έχουν ολοκληρώσει το έργο ή αν έχουν περισσότερα από 4 ημέρες για να ολοκληρωθεί αυτό.
- Θέλω το ταμπλό επιδεικνύω κίτρινο αν βρίσκονται σε ζώνη προειδοποίηση.
- Θέλω να να δείξω κόκκινο, αν δεν έχουν ολοκληρώσει το έργο μετά την καταληκτική ημερομηνία.
Δανείστηκα από αυτό το άρθρο σε Marc Άντερσον blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) να πάρει τη σύγκριση λογική και αυτό το άρθρο σε www.endusersharepoint.com για τις βασικές ιδέες πίσω από το ταμπλό (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) Συντάχθηκε απο τον Toni Frankola.
Θα πρέπει να διαβάσετε τα δικαιολογητικά blogs, αλλά η εφαρμογή πάει κάπως έτσι:
- Δημιουργήστε έναν τύπο περιεχομένου (στήλες + CT)
- Δημιουργήσετε μια προσαρμοσμένη λίστα και να συνδέσει με τον τύπο περιεχομένου.
- Δημιουργήστε μια σελίδα τμήματος web.
- Αυξάνω την προσαρμοσμένη λίστα της σελίδας τμήματος web.
- Ανοίξτε τη σελίδα στο SPD.
- Μετατρέψτε τη λίστα σε ένα DVWP.
- Τροποποιήσετε το XSL για να δημιουργήσει τα κομμάτια του ταμπλό.
Έχω δύο ημερομηνίες: μια ημερομηνία προειδοποίησης και ημερομηνία λήξης. Να συγκρίνετε τις ημερομηνίες, xsl μου κάνει το εξής:
<XSL:Επιλέξτε> <!-- Όταν υπογράφονται τόσο εγχειρίδιο και πολιτική, Είμαστε πράσινο, ανεξάρτητα από ημερομηνίες. -->
<XSL:Όταν δοκιμή="@Employee_x0020_Handbook_x003F_ = 1 και @Security_x0020_Policies = 1"> <img src= "/ _layouts/εικόνες/KPIDefault-0.GIF" ALT= "Κανένα πρόβλημα"/> <ένα href= "/ Περιεχόμενο/καταλόγων/νέα υπάλληλος Checklist/EditForm.aspx?ID ={@ID}&Πηγή = / περιεχόμενο/κοινόχρηστη έγγραφα/νέα μίσθωση Dashboard.aspx"> [Επεξεργασία]</ένα> </XSL:Όταν> <!-- Εμφάνιση φωτεινός δείκτης χρώματος κιτρίνου αν είμαστε μετά από την ημερομηνία προειδοποίησης. -->
<XSL:Όταν δοκιμή= "ν:FormatDateTime(συμβολοσειρά(ν:Σήμερα()), 1033, «ΕΕΕΕΜΜΗΗ») >= ν:FormatDateTime(συμβολοσειρά(@TaskDueDate), 1033, «ΕΕΕΕΜΜΗΗ»)"> <img src="/_layouts/images/KPIDefault-2.gif" ALT= "Ληξιπρόθ"/> <ένα στυλ= "συνόρων: 0px" href= "/ Περιεχόμενο/καταλόγων/νέα υπάλληλος Checklist/EditForm.aspx?ID ={@ID}&Πηγή = / περιεχόμενο/κοινόχρηστη έγγραφα/νέα μίσθωση Dashboard.aspx"> [Επεξεργασία]</ένα> </XSL:Όταν> <!-- Δείχνουν κόκκινη ενδεικτική λυχνία αν περάσαμε την ημερομηνία πληρωμής. -->
<XSL:Όταν δοκιμή= "ν:FormatDateTime(συμβολοσειρά(ν:Σήμερα()), 1033, «ΕΕΕΕΜΜΗΗ») >= ν:FormatDateTime(συμβολοσειρά(@Warning_x0020_Date), 1033, «ΕΕΕΕΜΜΗΗ»)"> <img src="/_layouts/images/KPIDefault-1.gif" ALT= "Προειδοποίηση"/> <ένα href= "/ Περιεχόμενο/καταλόγων/νέα υπάλληλος Checklist/EditForm.aspx?ID ={@ID}&Πηγή = / περιεχόμενο/κοινόχρηστη έγγραφα/νέα μίσθωση Dashboard.aspx"> [Επεξεργασία]</ένα> </XSL:Όταν> <!-- Αν φτάσουμε εδώ, Είμαστε νωρίτερα από την ημερομηνία προειδοποίησης, έτσι είμαστε πράσινο. -->
<XSL:διαφορετικά> <img src= "/ _layouts/εικόνες/KPIDefault-0.GIF" ALT= "Κανένα πρόβλημα"/> <ένα href= "/ Περιεχόμενο/καταλόγων/νέα υπάλληλος Checklist/EditForm.aspx?ID ={@ID}&Πηγή = / περιεχόμενο/κοινόχρηστη έγγραφα/νέα μίσθωση Dashboard.aspx"> [Επεξεργασία]</ένα> </XSL:διαφορετικά> </XSL:Επιλέξτε> |
Μερικά βασικά σημεία από ψηλά:
- Προσπάθησα να συγκρίνετε ημερομηνίες χωρίς τη χρήση της λειτουργίας ν και πουθενά. Εξακολουθώ να μην καταλαβαίνω που. Αυτοί ημερομηνίες προβάλλονται σωστά, αλλά και οι δύο">«και»<«συγκρίσεις πάντα απέτυχε. Στο τέλος, ν ήρθε στη διάσωσή μου (Ευχαριστώ, και πάλι, Marc).
- Είμαι επίσης δείτε ένα [Επεξεργασία] σύνδεση με το στοιχείο. Κυρίως το έκανα αυτό έτσι ώστε το εύκολα θα μπορούσε να ελέγξω αυτό έξω. Η σύνδεση αυτή καθεαυτή μπορεί να είναι χρήσιμο σε κάποιον που προσπαθεί να το λογαριάσω.
- Αυτό υλοποιείται στο SharePoint online και λειτουργούν πολύ καλά.
- Οι εικόνες που παραπέμπω στον κατάλογο _layouts (/_layouts/εικόνες/KPI...) είναι διαθέσιμη από το κουτί στο περιβάλλον μου, έτσι είναι πιθανώς διαθέσιμες για σας καθώς και.
Εδώ είναι ένα στιγμιότυπο οθόνης του τι μοιάζει για μένα:
</Τέλος>
Συνέχεια μου για Twitter σε http://www.twitter.com/pagalvin