Thursday, October 31, 2013

Sharepoint Verweisfeld Einträge mit Javascript manipulieren

Bei einem Verweisfeld auf eine großen Liste kann es bim IE (Internet Explorer) lange dauern, bis das Verweisfeld befüllt ist. Dies wird in der Javascript Funktion GipRefreshGroupCore gemacht - hier die Implementierung im Sharepoint 2010:

function GipRefreshGroupCore(a)
{
ULSEeZ:;
if (a.data.length==0) return;
var b=0;
if (a.groupControl) b=a.groupControl.selectedIndex;
for (var d=0,c=1;c {
for (var f=false,e=0;e
if (a.data[b][c][0]==a.resultControl[e].value) f=true;
if(!f)
{
a.candidateControl.options[d]=GipNewOption(a.data[b][c][1],a.data[b][c][0]);
d++
}
}
a.candidateControl.length=d;
if(a.candidateControl.options.length>0)
{
a.candidateControl.options[0].selected=true;
a.addControl.disabled=false;
GipDisplayDescription(a)
}
else
{
a.addControl.disabled=true;
GipSetDescriptionText(a," ")
}
}

man kann diese Überschreiben, indem man auf der Bearbeitungsseite (mit Shift öffnen, damit kein Popup) ein Inhalts Editor Webpart mit folgendem Code einfügt:



nun wird das Verweisfeld nciht befüllt, und stattdessen die MSgBox test angezeigt.

indem man den original Code erweitert kann man z.b. die zur verfügung stehenden Verweise filtern.

No comments: