首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式隐藏SPField

以编程方式隐藏SPField
EN

Stack Overflow用户
提问于 2010-10-12 12:00:46
回答 2查看 1.1K关注 0票数 1

我在以编程方式对user视图隐藏SPField时遇到了问题。

我尝试了一种显而易见的方法:

代码语言:javascript
复制
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,我如何使字段隐藏?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-12 22:21:15

首先,尝试将ReadOnlyField设置为false (然后在设置Hidden后返回为true )。

如果这不起作用,请检查CanToggleHidden的值。如果CanToggleHidden为false,您可以执行以下任一操作:

使用反射覆盖它,就像在this example.

  • Add中一样,使用
  • 字段,就像在this example中一样。注意:如果需要使用现有网站栏,可以尝试将ID属性与列的Guid一起添加到XML字符串中。
  • 跳过隐藏,改用ShowInDisplayFormShowInEditFormShowInNewForm
票数 2
EN

Stack Overflow用户

发布于 2010-10-12 23:07:44

不要紧,我看到你在添加字段。尝试在创建字段后获取该字段的新实例,然后在更新列表之前应用隐藏的属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3911602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档