SharePoint 2013 – Making a Lookup required and Setting the default value.

My Problem

Today I had a requirement to make a lookup field required and set the default value. For a lookup field this isn’t possible within the SharePoint 2010 interface.

My solution

Programmatically the SPFieldLookup also doesn’t have the options available. However casting the Lookup to an SPField does the trick.

public overridevoid FeatureActivated(SPFeatureReceiverProperties properties)
{
try
{
SPWeb web = (SPWeb)properties.Feature.Parent;
SPList list = web.Lists[“MyList”];
SPField lookup = (SPField)list.Fields[“My Lookup”];

lookup.DefaultValue = “1;#Value 1”;
lookup.Required = true;
lookup.Update();
}
catch(Exception Ex)
{
// do what ever you want
}
}

Advertisements

4 thoughts on “SharePoint 2013 – Making a Lookup required and Setting the default value.

    1. Hi Adrian,

      You would need to do this in a feature receiver. So you will need to Create a new feature in Visual Studio and add the code in this post to the FeatureActivated method.

      Are you happy using Visual Studio or is this something you need help with?

      Pieter

      Like

      1. I’ll try with VS, I was hoping for a non-deploy solution. Such as one that could be placed in a CEWP

        Like

      2. I guess it is just as easy to use PowerShell.

        How about something like this:

        web = Get-SPWeb $webUrl
        list = web.Lists.TryGetList("MyList")
        lookup = [Microsoft.SharePoint.SPField]list.Fields["My Lookup"]

        lookup.DefaultValue = "1;#Value 1"
        lookup.Required = true
        lookup.Update()

        I didn’t test the above code but it should be ok.

        Like

Please leave a comment or feedback

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.