加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将克隆的SPView添加到列表中

发布时间:2020-12-15 19:33:47 所属栏目:百科 来源:网络整理
导读:好的,有没有人知道如何克隆SharePoint视图然后将其添加到列表中. SPViewCollection.Add重载将不会采用SPView的实例,我找不到任何指示如何执行此操作的文档. 例如,我想基本上这样做: var myList = SPContext.Current.Web.List;//or something similarvar bas
好的,有没有人知道如何克隆SharePoint视图然后将其添加到列表中. SPViewCollection.Add重载将不会采用SPView的实例,我找不到任何指示如何执行此操作的文档.

例如,我想基本上这样做:

var myList = SPContext.Current.Web.List;//or something similar
var baseView = myList.DefaultView;
var myNewView = baseView.Clone("my view",base.RowLimit,base.Paged,false);
myNewView.Query = "<Where>......</Where>";
myList.Views.Add(myNewView);//this overload doesn't exist!

最终结果是我希望新的View复制原始视图的行为,但更改的查询除外.我愿意走另一条路,但我不确定那是什么. (我注意到可能有用的BaseViewID属性,但它是只读的).

任何建议或提示将不胜感激.

解决方法

如果使用SPView.Clone(title,rowlimit,paged,default)克隆SPView,则会自动将其添加到该列表作为新视图.或者,至少,当你调用Update()时(很像SPList.Items.Add()).例如,我执行以下操作来创建仅在查询中不同的克隆视图:

SPView thisView = thisList.DefaultView;
thisView = thisView.Clone("High Priority",100,true,false);
thisView.Query = "<GroupBy Collapse="TRUE" GroupLimit="100"><FieldRef Name="dlCategory" /></GroupBy><Where><Eq><FieldRef Name="dlPriority"></FieldRef><Value Type="Number">2</Value></Eq></Where>";
thisView.Update();

现在我的列表(thisList,就像它一样)有一个新视图,它具有与默认视图相同的所有属性,除了它现在按列“dlCategory”分组并过滤掉“dlPriority”不是2的任何内容.你发布这个已经有好几个月了,但我想我会把这个留给那些在搜索这些东西时遇到这个问题的人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读