---
title: "ドロップリンク、ドロップツリー、グループドドロップリンクフィールドへのアクセス"
slug: "access-droplink-droptree-and-grouped-droplink-fields"
abstract: "Sitecoreを使ってDroplink、Droptree、グループドドロップリンクフィールドにアクセスする方法。Data.Fields.ReferenceFieldクラス。"
---
# ドロップリンク、ドロップツリー、グループドドロップリンクフィールドへのアクセス

Sitecore.Data.Fields.ReferenceFieldクラスを使うことで、*Droplink*、*Droptree*、*Grouped Droplink*の各項目を単一項目選択できるフィールドタイプにアクセスできます。

Sitecore.Data.Fields.ReferenceField.TargetItemプロパティは、フィールドまたはNullで指定されたSitecore.Data.Items.Itemを含みます。例えば、*Master*データベースの*/Sitecore/Content/Home*項目にある*Droptree*フィールドで指定された*ReferenceField*項目にアクセスする場合:

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

Sitecore.Data.Fields.ReferenceField referenceField = item.Fields"referencefield";

if (referenceField==null)
{
 // Field does not exist
}
else if (referenceField.TargetItem==null)
{
 // No item selected
}
else
{
 Sitecore.Data.Items.Item referencedItem = referenceField.TargetItem;
 // Process referenced item
}

Sitecore.Data.Fields.ReferenceField.ValueプロパティをアイテムのIDに設定すれば、サポートされているタイプのフィールドを更新できます。例えば、*Master*データベースの*/Sitecore/Content/Home*アイテムの*Droptree*フィールドに*ReferenceField*という名前の項目が/*Sitecore/Content/Home/Sample*項目を指定するように:

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

Sitecore.Data.Fields.ReferenceField referenceField = home.Fields"referencefield";

if (referenceField==null)
{
 // Field does not exist
}
else
{
 Sitecore.Data.Items.Item sample = master.GetItem("/sitecore/content/home/sample");

 if (sample==null)
 {
 // Sample does not exist
 }
 else if (sample.ID.ToString()!=referenceField.Value)
 {

 home.Editing.BeginEdit();
 referenceField.Value = sample.ID.ToString();
 home.Editing.EndEdit();

 }
}