请帮忙,
我正在尝试将FIELDS添加到“刚刚上传的”文件中。 文件上传到SPFolder对象。 我想自动添加库中的所有字段或文件夹 文件上传到文件。
第一:我从图书馆获得所有字段(SPList) 来自Event“ItemAdded”属性:
SPList currentList = properties.List;
第二:我从currentList获得了所有字段的FIELD COLLECTION:
SPFieldCollection currentListFieldItems = currentList.Fields;
第三:现在我想将每个FIELD添加到currentItem(这是正确的 上传文件):
for (int i = 0; i < AnzahlFields; i++)
{
SPField NeuesFeld = currentListFieldItems[i];
String FeldInternalName = currentListFieldItems[i].InternalName;
String FeldName = currentListFieldItems[i].Title;
NeuesFeld.Type = currentListFieldItems[i].Type;
NeuesFeld.Required = currentListFieldItems[i].Required;
NeuesFeld.ShowInEditForm = true;
NeuesFeld.ShowInDisplayForm = true;
NeuesFeld.ShowInListSettings = true;
NeuesFeld.ShowInNewForm = true;
NeuesFeld.ShowInViewForms = true;
if (currentItem.Fields.ContainsField(FeldInternalName))
{
// The Field already exists
}
else
{
// The Field is not existing, will be added
currentItem.Fields.Add(NeuesFeld);
}
}
currentitem.update();
它不起作用,因为它总是说,所有菲尔兹已经存在! 你能帮帮我吗,我错了什么?
斯特芬
答案 0 :(得分:1)
您无法向SPListItem添加字段。 ListItem已经包含您上传文件的列表中存在的所有字段。 相反,如果要设置字段的值,可以使用字段的内部名称来执行此操作:
currentItem["InternalNameOfField"] = "I am the new value";
更多信息和示例可在MSDN
上找到