Sortering kalenderelementer i kalendervisningen

Jeg bruger en kalender til at spore paneldiskussioner på en given dag. Jeg har to sessioner: morgen og eftermiddag. Jeg vil gerne oprette en visning, der viser morgen sessioner kun opført alfabetisk via et sessions-ID. Det er lidt tricky at udrette (medmindre jeg overset noget virkelig indlysende).

Jeg kan nemt oprette en filtreret visning viser bare dagens begivenheder. Kalenderen vil vise alle disse begivenheder, og hvis de alle tager sted på den samme time, Det viser dem side om side i den time slot. Dette er storartet. Den vanskelige del er, at, som standard, det ønsker at liste dem i id-format. Så, Hvis jeg tilføje "Session 02" og derefter "Session 01" til kalenderen, Det viser dem i nævnte rækkefølge (dvs, Session 02 og derefter Session 01). At nævne dem i rækkefølge, sessions-ID, Jeg tænkte at prøve disse ting:

  1. Konfigurere visningen ved hjælp af web-brugergrænsefladen. Uden held. Der er ingen muligheder for at sortere elementer på denne måde.

    Da det virkede, Jeg er nu håber der er en CAML forespørgsel et sted i det, der vil tillade mig at tilsidesætte slags. CQWP lader mig gøre, at slags ændre, måske vil kalender samt?

  2. Redigere webdelen, kigge efter en "eksport" funktion og … BZZZT! Jeg kan ikke eksportere sine XML. Der er ingen eksport mulighed.

    Jeg er stadig holder ud håb om at jeg kan finde og ændre nogle CAML forespørgsel. Da jeg ikke kan eksportere webdelen, Det efterlader SharePoint Designer.

  3. Jeg tilføje webdelen kalender til et websted, sandkasse og åbne webstedet ved hjælp af SharePoint Designer. Jeg ser på opmærkningen for webdelen og jeg finde hvad jeg søger. Det har kodet vanvid, men det er der: "<ListViewXml …. >kodede vanvid</ListViewXml>". Specifikt, der er denne perle:

<Forespørgsel>
<Hvor>
<DateRangesOverlap>
<FieldRef Name = "EventDate" />
<FieldRef navn = "Slutdato" />
<FieldRef Name = "RecurrenceID" />
<Værdi Type = "Datoklokkeslæt">
<Måned />
</Værdi>
</DateRangesOverlap>
</Hvor>
<SorterEfter><FieldRef Name = "Session_x0020_ID" /></SorterEfter>
</Forespørgsel>

(Jeg har afkodet de &lt;'s og &gt's og opdele dem ud på flere linjer for klarhedens skyld).

Tilføje den <SorterEfter> bit og nu det sorterer efter Session-ID, ikke den interne liste element-ID.

GIGANTISK tip o’ Hatten til Becky Isserman for hendes kommentar til Isha Sagi blogindlæg: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Jeg ville ikke have sat den <SorterEfter> i det rigtige sted uden hendes kommentar.

Jeg håber at skrive dette mere klart med skærmbilleder snart, men i tilfælde af at jeg aldrig gøre, mindst gjorde jeg dette meget.

</slutningen>

2 tanker om ”Sortering kalenderelementer i kalendervisningen

  1. L Hibbs

    Tak for info. Det virker som en charme. Jeg gjorde et lignende trick på en multi feltet sorter (3 felter). Det eneste problem med redigering af CAML er, at hvis visningen er ændret, ændringerne overskrives. Men sådan er livet!

    Tak for udstationering!

    Svar
  2. Barske

    Jeg havde sat tag efter . Men det stadig anvende ikke sortering på min kalender. Også hvis jeg giver ant navn i FieldRef værdi smide så også det ikke nogen fejl. For fx. test123 kolonne findes ikke i min kalender men hvis jeg forsøger at bruge dette felt, så også den side doesnot smide nogen fejl. Jeg er ikke sikker på, om koden fungerer. Jeg bruger SharePoint 2010.

    Svar

Efterlad et svar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *