---
title: "Access Droplink, Droptree, and Grouped Droplink fields"
slug: "access-droplink-droptree-and-grouped-droplink-fields"
abstract: "How to access Droplink, Droptree, and Grouped Droplink fields using the Sitecore.Data.Fields.ReferenceField class."
---
# Access Droplink, Droptree, and Grouped Droplink fields

You can access field types allowing the user to select a single item, including *Droplink*, *Droptree*, and *Grouped Droplink* fields by using the `Sitecore.Data.Fields.ReferenceField` class.

The `Sitecore.Data.Fields.ReferenceField.TargetItem` property contains the `Sitecore.Data.Items.Item` specified by the field, or Null. For example, to access the item specified by the *Droptree* field named *ReferenceField* in the */Sitecore/Content/Home* item in the *Master* database:

```csharp
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
}

```

You can set the `Sitecore.Data.Fields.ReferenceField.Value` property to the ID of an item to update a field of one of the supported types. For example, to ensure the *Droptree* field named *ReferenceField* in the */Sitecore/Content/Home* item in the *Master* database specifies the /*Sitecore/Content/Home/Sample* item:

```csharp
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();

    }
}

```