Est-il possible dans SharePoint pour modifier l'affichage de la bibliothèque de documents sur une base par utilisateur?
-
11-09-2019 - |
Question
Nous utilisons WSS 3.0 et on m'a demandé de voir si les utilisateurs peuvent définir des vues par défaut sur une base par utilisateur. Quelqu'un est-il au courant de toute méthode (ou programatic à travers l'interface graphique lui-même) pour donner aux utilisateurs la possibilité de changer les vues par défaut sur une base par utilisateur? Les 30 minutes de googler et farfouillé dans les menus administratifs se sont avérés infructueux. Sinon, est-ce une caractéristique de MOSS 2007?
La solution
Vous voulez probablement regarder dans le public qui est la fonctionnalité dans MOSS 2007.
Malheureusement, ce n'est pas disponible dans WSS 3.0
Voici un aperçu raisonnable. profils utilisateur et Public dans SharePoint 2007 Ciblage
Autres conseils
Si vous travaillez dans WSS 3.0, vous pouvez modifier ou programme swtich vues en utilisant un webpart qui obtient la ListViewWebPart et modifie la requête ou vue à la volée. Voici quelques exemples de code que je utilise pour filtrer le contenu d'une vue donnée:
private ListViewWebPart GetListViewWebPart()
{
ListViewWebPart webPart = new ListViewWebPart();
foreach (WebPart wp in WebPartManager.WebParts)
{
if (wp.GetType() == typeof(ListViewWebPart))
{
webPart = (ListViewWebPart)wp;
}
}
return webPart;
}
private void ApplyStrategySecurity(string camlFilter)
{
// Get the listview webpart
ListViewWebPart wp = GetListViewWebPart();
// Apply the query to the listview
XmlDocument doc = new XmlDocument();
doc.LoadXml(wp.ListViewXml);
if (camlFilter.Length > 0)
{
XmlNode queryNode = doc.SelectSingleNode("//Query");
XmlNode whereNode = queryNode.SelectSingleNode("Where");
if (whereNode != null)
queryNode.RemoveChild(whereNode);
XmlNode newNode = doc.CreateNode(XmlNodeType.Element, "Where", string.Empty);
newNode.InnerXml = camlFilter;
queryNode.AppendChild(newNode);
}
wp.ListViewXml = doc.OuterXml;
}