Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

How can I set default value for a lookup column (when we adding new item)? For lists creating I am using site columns and site content types in elements.xml.

I can set default value for text or date field type, but I can't find any way to do it for lookup column. I've find this article, but I don't want to use custom InfoPath forms. Is there any possibility to do it?

My site column elements.xml:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Field
       ID="{a5a8622d-df8d-4988-acd4-4645081d16fe}"
       Type="Lookup"
       AllowDeletion="FALSE" 
       Description="Data Centre lookup" 
       List="Lists/DataCentres"
       ShowField="Title"
       FillInChoice="TRUE"
       Name="NewServer Datacentre"       
       DisplayName="Data Centre"       
       Group="Data centre">
    <Default>1;#FirstDataCenter</Default>
  </Field>
</Elements>

I've tried to play with

<DefaultFormula> 

but I also have not got any results.

The "1;#FirstDataCenter" is the correct string, I am succesfully using the identical string for setting list item value.

Thank you in advance.

share|improve this question
    
what is wrong with the way you are doing it exactly? Just want to clarify what kind of solution you are looking for... –  Zork Mar 29 '12 at 12:48
    
When I create new item, it "NewServer Datacentre" column doesn't fill in with the default value = "FirstDataCenter". Columns of other types filling in well. –  MikhailSP Mar 29 '12 at 12:53
    
Is this for one list, or do you use the column in many lists? If its for a specific list you could easily just set it with javascript when the NewForm loads –  Anders Aune Mar 29 '12 at 13:10
    
Thank you for your answer Anders. I've found a more suitable for my needs solution. But your solution is also good. –  MikhailSP Mar 29 '12 at 14:05
add comment

2 Answers

up vote 3 down vote accepted

From the below blog, you can use the following code...

SPList docs = w.Lists["Documents"];
SPFieldLookup fl = (SPFieldLookup)docs.Fields["City"];
fl.DefaultValue = "1;#Mexico City";
fl.Update();

http://blogs.msdn.com/b/varun_malhotra/archive/2008/06/19/how-to-set-the-default-value-for-a-look-up-field-for-an-item-as-it-is-being-created.aspx

share|improve this answer
    
Thank you very much! It works! –  MikhailSP Mar 29 '12 at 13:10
add comment

I wrote a simple add-on(SharePoint Default Value Add-On), which inject a "default value" section into "Create Column" dialog.

enter image description here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.