C# Sharepoint UpdateList方法:新创建的列不可见
我工作过。它正在成功地工作。 但我面临的问题是: 新列在列表中不可见(我尝试设置Required=“TRUE”) 我尝试比较可见列和不可见列的字段值。 我发现的区别是:可见列(手动创建)不包含版本值。 我正在创建的wereas专栏拥有它 所以我尝试将null值传递给“ndVersion.value” 但它仍然不起作用,而且自动地给这个版本增加了一些价值 你能帮我解决这个问题吗 我试着给出解决方案C# Sharepoint UpdateList方法:新创建的列不可见,c#,sharepoint-2007,C#,Sharepoint 2007,我工作过。它正在成功地工作。 但我面临的问题是: 新列在列表中不可见(我尝试设置Required=“TRUE”) 我尝试比较可见列和不可见列的字段值。 我发现的区别是:可见列(手动创建)不包含版本值。 我正在创建的wereas专栏拥有它 所以我尝试将null值传递给“ndVersion.value” 但它仍然不起作用,而且自动地给这个版本增加了一些价值 你能帮我解决这个问题吗 我试着给出解决方案 但它不再起作用了(尝试将ReadOnly属性设置为“FALSE”在浏览器中将列添加到列表时,实际上会
但它不再起作用了(尝试将ReadOnly属性设置为“FALSE”在浏览器中将列添加到列表时,实际上会发生以下几种情况:
- 字段被添加到列表中
- 字段添加到列表内容类型中
- 字段将添加到默认视图中
MSDN上有大量关于这方面的有用信息
我将使用Microsoft.Sharepoint.dll提供的对象模型,而不是使用web服务 当您向内容类型添加新列时,Sharepoint中会出现问题,因为更改并不总是下推到列表中。我认为当您编辑内容类型时,Sharepoint UI会为您这样做,但当您自己在代码中这样做时,您必须确保您的更改被下推到列表中 有两种方法可以通过编程方式将内容类型数据添加到列表中
- 通过schema.xml->然后您必须让列表继承您的内容类型,但您仍然必须列出您要从内容类型使用的所有字段
- 通过代码->将您的字段添加到内容类型,但是您必须再次将内容类型添加到列表中,以确保列表中填充了所有字段
var field = list.Fields[fieldName];
var ctype = list.ContentTypes[contentTypeId];
var fieldref = new SPFieldLink(field);
ctype.FieldLinks.Add(fieldref);
ctype.Update();
var view = list.Views[viewName];
view.ViewFields.Add(field);
view.Update();