我在以编程方式对user视图隐藏SPField时遇到了问题。
我尝试了一种显而易见的方法:
SPField newField = web.Site.RotWeb.Fields.GetField("order");
string newField = list.Fields.Add(newField);
list.Fields["order"].Hidden = true; // <--- exception: read-only field
list.Update();异常说明字段是只读的,所以我不能修改它。
此字段被添加到代码中,因此它将从字段集合中取消托管。除了从UI,我如何使字段隐藏?
谢谢。
发布于 2010-10-12 22:21:15
首先,尝试将ReadOnlyField设置为false (然后在设置Hidden后返回为true )。
如果这不起作用,请检查CanToggleHidden的值。如果CanToggleHidden为false,您可以执行以下任一操作:
使用反射覆盖它,就像在this example.
发布于 2010-10-12 23:07:44
不要紧,我看到你在添加字段。尝试在创建字段后获取该字段的新实例,然后在更新列表之前应用隐藏的属性。
https://stackoverflow.com/questions/3911602
复制相似问题