0

我们正在使用 WSS 3.0,我被要求查看用户是否可以在每个用户的基础上设置默认视图。是否有人知道任何方法(编程或通过 GUI 本身)让用户能够在每个用户的基础上更改默认视图?30 分钟的谷歌搜索和在管理菜单中四处寻找结果是徒劳的。如果不是,这是 MOSS 2007 的一个特性吗?

4

2 回答 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 回答