フィールドをプログラムでリストに追加します。フィールドは多くの情報で満たされているメソッドの最初の行の後SharePoint 2010のSPFieldの内部名を設定する方法は?
public static bool AddFieldToList(SPList list, SPFieldType fieldType, string fieldInternalName, string fieldDisplayName, string fieldDescription, bool unique, bool required, bool indexed)
{
SPField field = new SPField(list.ParentWeb.Fields, fieldType.ToString(), fieldInternalName);
bool success = AddFieldToList(list, field, fieldDisplayName, fieldDescription, unique, required, indexed);
return success;
}
:次の行は、既存のリスト
Lists.AddFieldToList(warrantyList, SPFieldType.Text, "internalFieldName", "ShownFieldName", "Comment", false, false, false);
これは、呼び出されるメソッドですfield'to新しいが追加されますinternalName(NULL)と "internalFieldName"を含むTitleはありません。 2行目
以下のメソッドが呼び出される:
public static bool AddFieldToList(SPList list, SPField field, string fieldDisplayName, string fieldDescription, bool unique, bool required, bool indexed)
{
if (field != null &&
(!list.Fields.Contains(field.Id)))
{
field.ReadOnlyField = false;
field.Title = fieldDisplayName;
field.Description = fieldDescription;
field.EnforceUniqueValues = unique;
field.Indexed = indexed;
field.Required = required;
list.Fields.Add(field);
return true;
}
return false;
}
タイトルが(もちろん)「ShownFieldName」に変更された後。しかし、私の目標は、 "ShownFieldName"という表示名を持つ内部名 "internalFieldName"を持っているので、 "ShownFieldName"がリストに表示されますが、内部名で項目にアクセスできます
としてfield.InternalNameはreadOnlyです。その問題を解決することはできますか?何がデータベースあなたの変化に保存された前
SPField field = new SPField(list.ParentWeb.Fields, fieldType.ToString(), fieldInternalName);
しかし:
ありがとう、マレック。働いた。 –