Sharepoint 2013:创建用于在添加新字段时更新列表视图的脚本

Sharepoint 2013: Create a script for updating a list view when i adda new field

我创建了几个列表,每个列表都有几个不同的视图,有人要求我创建一个允许这样做的脚本:每次在列表中添加一个新字段时,这个字段必须自动添加到所有已经存在的观点。我需要一个脚本,因为有太多的列表和太多的视图,一个视图一个视图地完成它很繁琐。有没有办法以编程方式执行此操作?

您可以为列表创建一个事件接收器(假设自定义列表),然后将 filed 添加到所有视图。

示例代码:

SPWeb web = site.OpenWeb();
                SPList list = web.Lists["TestListLee"];
                var tmpViews = new List<SPView>();
                foreach (SPView view in list.Views)
                {
                    if (!view.ViewFields.Exists("myField"))
                    {
                        view.ViewFields.Add("myField");
                        tmpViews.Add(view);
                    }
                }
                for (int i = 0; i < tmpViews.Count; i++)
                {
                    tmpViews[i].Update();
                }