我们正在使用WSS 3.0,并且我被要求查看用户是否可以基于每个用户设置默认视图。是否有人知道任何方法(编程或通过GUI本身)使用户能够基于每个用户更改默认视图?在行政菜单中进行了30分钟的谷歌搜索和探索,结果证明是无用的。如果没有,这是MOSS 2007的特色吗?
答案 0 :(得分:1)
您可能希望了解MOSS 2007中的功能受众群体 不幸的是,它在WSS 3.0中不可用
这是一个合理的概述。 User Profiles and Audience Targeting in SharePoint 2007
答案 1 :(得分:1)
如果您正在使用WSS 3.0,则可以使用获取ListViewWebPart并动态修改查询或视图的webpart以编程方式切换或修改视图。以下是我用来过滤任何给定视图内容的示例代码:
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;
}