Quelqu'un sait comment avoir l'affichage du calendrier développé par défaut ?? Vu beaucoup d'informations sur la façon de le faire avec SP 2007 mais pas SP 2010.Calendrier Développer tout par défaut
Répondre
pas la meilleure approche, mais cela fonctionne, ajoutez le script suivant sur votre page CEWP ou en ligne:
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("myFuncafterLoad");
function myFuncafterLoad(){var OldCalendarNotify4a = SP.UI.ApplicationPages.CalendarNotify.$4a;SP.UI.ApplicationPages.CalendarNotify.$4a = function(){myFunctoExpandCalendar();OldCalendarNotify4a();}}
function myFunctoExpandCalendar(){try{var aTags=document.getElementsByTagName('A');for(i=0;i<aTags.length;i++){try{if(aTags[i].evtid=="expand_collapse"){aTags[i].click();break;}}catch(err){ alert('Bad Call at' + aTags[i].href);}}}catch(err){alert(err.message);}}</script>
Qu'est-ce que il le fait après que le calendrier est chargé, il recherche le premier lien d'expansion et simule un clic.
Je devais utiliser le Javascript traditionnel car je ne peux pas déclencher de clic en utilisant JQuery, parce que la méthode de clic n'est pas ajoutée en utilisant JQuery. Faites-moi savoir si somefine trouve une meilleure solution.
ce script est pas parfait. Une seule rangée de calendrier est étendue ... Je n'ai pas encore trouvé d'autre solution. – scrat789
Kuldeep, merci pour ce script! Je l'ai légèrement modifié pour étendre toutes les lignes du calendrier en supprimant la coupure et en vérifiant si le texte d'ancrage est "collapse". Si ce n'est pas "s'effondrer", un clic est exécuté. Notez qu'il vous suffit de cliquer sur un élément par ligne. Sinon, vous pouvez revenir à l'état replié.
Un autre effet secondaire problématique de l'ajout du CEWP à la page Calendrier est que vous perdez la liste déroulante Modifier la vue. Vous devez utiliser le ruban calendrier pour changer de vue.
Je voudrais également trouver une solution plus robuste, mais voici ma solution slighly améliorée:
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("myFuncAfterLoad");
function myFuncAfterLoad() {
var oldCalendarNotify4a = SP.UI.ApplicationPages.CalendarNotify.$4a;
SP.UI.ApplicationPages.CalendarNotify.$4a = function() {
oldCalendarNotify4a();
myFuncToExpandCalendar();
}
}
function myFuncToExpandCalendar() {
try {
var aTags = document.getElementsByTagName('A');
for (i = 0; i < aTags.length; i++) {
if ((aTags[i].evtid == "expand_collapse") && (aTags[i].innerText != "collapse")) {
(aTags[i]).click();
}
}
}
catch (err) {
alert(err.message);
}
}
</script>
Deux options pour celui-ci. Collez l'un ou l'autre des éléments suivants dans un CEWP.
La première remplacera la fonction utilisée pour déterminer le nombre d'éléments à afficher avant d'afficher le lien expansion/réduction. J'ai mis ceci à 100 dans l'exemple ci-dessous pour m'assurer que dans mon cas d'utilisation, je ne vois même pas les boutons d'expansion/effondrement et j'obtiens toujours chaque article rendu tout le temps.
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push('WaitForCalendarToLoad');
function WaitForCalendarToLoad()
{
SP.UI.ApplicationPages.SummaryItemRenderer.prototype.$2u = function()
{
ULSvSp: ;
if (!this.$1A_1) this.$1A_1 = 100;
return this.$1A_1
}
}
</script>
La deuxième option remplace le calendrier notifier l'événement, de sorte que lorsque tous les éléments sont rendus, le script trouvera la première instance de calendrier, et l'appeler Développons toutes les fonctions. Cela garantira que chaque cellule est étendue par défaut mais affichera toujours les liens de réduction.
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push('WaitForCalendarToLoad');
function WaitForCalendarToLoad()
{
var old$4a = SP.UI.ApplicationPages.CalendarNotify.$4a;
SP.UI.ApplicationPages.CalendarNotify.$4a = function()
{
old$4a();
ctrl = SP.UI.ApplicationPages.CalendarInstanceRepository.firstInstance();
if (ctrl) {
ctrl.expandAll();
}
}
}
</script>
Merci, Andy. Vos deux solutions fonctionnent très bien. J'ai juste pensé que je mentionnerais que $ 4a a changé à $ 4b dans SP1. –
Merci d'avoir signalé cela à Randy, je n'étais pas au courant de cela et je suis sûr que ça va me piquer à un moment donné. –
function expandCalendar()
{
var calendar = SP.UI.ApplicationPages.CalendarInstanceRepository.firstInstance();
if (calendar && typeof calendar.expandAll === 'function') {
calendar.expandAll();
}
- 1. Modifier le calendrier par défaut de CultureAndRegionInfoBuilder
- 2. Développer le menu Drupal par défaut
- 3. Accordéon Jquery Tout développer Réduire tout
- 4. Afficher le calendrier par défaut dans mon application
- 5. Préoccupés par javascript calendrier
- 6. calendrier WCF par intermittence
- 7. L'idée de développer "Calendrier" à partir de zéro
- 8. Comment puis-je créer par programme un événement iCal dans le calendrier par défaut?
- 9. WPF toolkit DatePicker changer la valeur par défaut «Afficher le calendrier»
- 10. Conventions par défaut de NHibernate par défaut
- 11. calendrier Jquery chevauchée par flash
- 12. API Google Calendar: Comment obtenir un CalendarEntry pour le Calendrier par défaut?
- 13. jquery datepicker date par défaut
- 14. Comment faire div développer tout le chemin à droite
- 15. Raccourci Eclipse pour 'Développer tout' dans la vue Synchroniser
- 16. Java, encodage par défaut
- 17. Remplacer tout "\ n" par ","
- 18. Django, calendrier
- 19. Oracle Valeurs par défaut
- 20. Python optparse par défaut vs fonction par défaut
- 21. Vue par défaut de l'élément de liste par défaut Sharepoint
- 22. par défaut de mettre une application par défaut
- 23. L'utilisateur par défaut a un identifiant différent par défaut
- 24. C++, le paramètre par défaut sans constructeur par défaut
- 25. iPad Calendrier Style Flip?
- 26. Application Windows par défaut UI
- 27. set ajax Valeur par défaut de CalendarExtender
- 28. Authentification WebService par défaut MembershipProvider
- 29. Grails contraintes par défaut
- 30. PageMethod timeout par défaut
Je trouve pas une solution pour mon problème ... – scrat789