Implement Cascading Menus in SharePoint 2013,2016,2019

SharePoint On Premise SharePoint Online

Μια ακόμη πολύ σημαντική λειτουργία που μπορούμε να χρησιμοποιήσουμε σε ένα περιβάλλον SharePoint είναι οι custom lists και οι φόρμες κατά την εισαγωγή δεδομένων σε αυτές.

Πολλές φορές παρατηρείται το φαινόμενο να χρειάζεται να εισάγουμε δεδομένα σε πεδία τα οποία είναι προκαθορισμένα.

Επίσης τα δεδομένα αυτά μπορεί να χωρίζονται σε υποκατηγορίες ανάλογα την αρχική επιλογή .

Σε μια τέτοια κατάσταση θα πρέπει να κάνουμε χρήση των cascading menus με χρήση jquery και spservise js.

Ακολουθεί ένα παράδειγμα σχετικά με το πως μπορούμε να δημιουργήσουμε μια custom list ή οποία στα πεδία εισαγωγής δεδομένων θα κάνει retrieve data από άλλες custom lists .

Αρχικά δημιουργούμε τις custom lists μας

Μια λίστα με Σχολές

και εισάγουμε 3 σχολές

Μια λίστα με Μαθήματα

και εισάγουμε μαθήματα και για τις 3 σχολές

Επίσης κάνουμε μια column με lookup στη list Σχολές και επιλέγουμε το πεδίο title

Συμπληρώνουμε ποιο μάθημα αντιστοιχεί σε κάθε σχολή

Δημιουργούμε μια List ΦΟΙΤΗΤΕΣ

Προσθέτουμε τα ονόματα των φοιτητών

Κάνουμε ακόμα μια column με lookup στη λίστα ΜΑΘΗΜΑΤΑ και επιλέγουμε το πεδίο title

Επίσης συμπληρώνουμε στο κάθε πεδίο το μάθημα που αντιστοιχεί στον κάθε φοιτητή

Φτιάχνουμε ακόμα μια λίστα όπου θα φιλοξενείται η φόρμα μας.

Κάνουμε 3 column με lookup στη λίστα ΜΑΘΗΜΑΤΑ , ΣΧΟΛΕΣ ,ΦΟΙΤΤΗΤΕΣ και επιλέγουμε το πεδίο title για το καθένα από αυτά

Διαπιστώνουμε ότι στη φόρμα τα μενού δεν κάνουν retrieve τα data από της συνδεόμενες λίστες

Επιλέγω edit page στη φόρμα

Επιλέγουμε add webpart και επιλέγω από το Media and Content το Content Editor.Επίσης μπορώ να επιλέξω το Script Editor .Όταν είμαι όμως σε Sharepoint Online θα πρέπει να έχω ενεργοποιήσει τη δυνατότητα εκτέλεσης Script από τον χρήστη όπως επίσης για να εμφανιστεί το content editor θα πρέπει να έχω ενεργοποιήσει πρώτα το scripting και μετά την πάροδο 24 ωρών να κάνω ένα νέο Site Collection τύπου Classic Experience

Ανοίγω το script editor και προσθέτω τον κώδικα


Καλούμε τα scripts με τα CDN τους

$(document).ready(function () { $().SPServices.SPCascadeDropdowns({ relationshipList: “ΜΑΘΗΜΑΤΑ”, relationshipListParentColumn: “ΣΧΟΛΗ”, relationshipListChildColumn: “Title”, parentColumn: “ΣΧΟΛΗ”, childColumn: “ΜΑΘΗΜΑ”, debug: true }); }); $(document).ready(function () { $().SPServices.SPCascadeDropdowns({ relationshipList: “ΦΟΙΤΗΤΕΣ”, relationshipListParentColumn: “ΜΑΘΗΜΑ”, relationshipListChildColumn: “Title”, parentColumn: “ΜΑΘΗΜΑ”, childColumn: “ΦΟΙΤΗΤΗΣ”, debug: true }); });
​​​
​​
​​​
​​

Όπως διαπιστώνετε τα μενού ανάλογα με την επιλογή που έχω κάνει γεμίζουν το επόμενο μενού με αποτελέσματα ανά κατηγορία επιλογής.