我们正在使用 WSS 3.0,我被要求查看用户是否可以在每个用户的基础上设置默认视图。是否有人知道任何方法(编程或通过 GUI 本身)让用户能够在每个用户的基础上更改默认视图?30 分钟的谷歌搜索和在管理菜单中四处寻找结果是徒劳的。如果不是,这是 MOSS 2007 的一个特性吗?
问问题
879 次
2 回答
1
您可能想查看 MOSS 2007 中的功能性受众。
不幸的是,它在 WSS 3.0 中不可用
这是一个合理的概述。SharePoint 2007 中的用户配置文件和受众定位
于 2009-12-02T17:18:49.570 回答
1
如果您在 WSS 3.0 中工作,则可以使用获取 ListViewWebPart 并动态修改查询或视图的 Web 部件以编程方式切换或修改视图。这是我用来过滤任何给定视图的内容的一些示例代码:
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;
}
于 2009-12-02T18:30:24.717 回答