我有几个列表,每个列表创建了几个不同的视图,我被要求创建一个允许这样的sript:每次在列表中添加一个新字段时,该字段必须自动添加到所有视图中已经存在。我需要一个脚本,因为有这么多的列表,以及很多视图,以便它可以一个一个地查看它。无论如何以编程方式执行此操作?
答案 0 :(得分:0)
您可以为列表创建事件接收器(假设自定义列表),然后将字段添加到所有视图。
示例代码:
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();
}