Sharepoint 2013 では、次のコードを使用して、管理されたメタデータ列をプログラムでリストに追加しようとしています。
Field f = list.Fields.AddFieldAsXml("<Field Type='" + columntype + "' Name='" + columnname + "' DisplayName='" + columnname + "' ShowField='Term1033' />", true, AddFieldOptions.AddFieldToDefaultView);
clientContext.Load(f);
clientContext.ExecuteQuery();
TaxonomyField taxField = clientContext.CastTo<TaxonomyField>(f);
taxField.SspId = this.getDefaultTermStoreId();
taxField.TermSetId = getTermSetIdByName("Instanties");
taxField.AllowMultipleValues = false;
taxField.Open = true;
taxField.TargetTemplate = string.Empty;
taxField.AnchorId = Guid.Empty;
taxField.Update();
list.Update();
clientContext.ExecuteQuery();
列は管理されたメタデータ タイプの列としてリストに作成されますが、ユーザーが選択する用語セットが設定に入力されていません。管理されたメタデータ列の TermSet を設定するためのヒントはありますか?
getDefaultTermStoreId() と getTermSetIdByName(string) は正しい GUID を与えてくれます。私はそれをチェック!
どうもありがとう!