When worked in project I faced problem in adding additional lookup column to list programmatically and I didn't found any article to guide me of doing it. After investigation I found the solution.
Example I have Lookup 2 lists:
- Countries with 2 text columns Title as key and Code.
- Application have lookup with name CountryTitle
I want to add Code Column of Countries list as additional column of look CountryTitle. The Code below do this action:
string mainListName = "Countries"; //Name of Lookup List string lookupListName = "Application"; //Name of Main List Needs to add additional field to lookup string lookupColAdditionalFieldDisplayName = "CountryCode"; //Display name of additional field in main list string pLookupKeyName = "CountryTitle"; //Name of parent lookup field in main List string additionalLookupFieldName = "Code"; //Name of additional Field in lookup list //Main List SPList mainlst = w.Lists[lookupListName]; //Lookup List SPList lookuplst = w.Lists[mainListName]; //Main List Fields SPFieldCollection col = mainlst.Fields; //Lookup Primary Key SPFieldLookup spPrimaryField = ((SPFieldLookup)col[pLookupKeyName]); //Create Additional Field its name in lookup Field1 with display name in list TestDisplayName SPFieldLookup field = (SPFieldLookup)mainlst.Fields.CreateNewField(SPFieldType.Lookup.ToString(), lookupColAdditionalFieldDisplayName); field.LookupList = spPrimaryField.LookupList; field.LookupWebId = spPrimaryField.LookupWebId; field.LookupField = additionalLookupFieldName; field.PrimaryFieldId = spPrimaryField.Id.ToString(); field.ReadOnlyField = true; field.AllowMultipleValues = spPrimaryField.AllowMultipleValues; field.UnlimitedLengthInDocumentLibrary = spPrimaryField.UnlimitedLengthInDocumentLibrary; field.Direction = spPrimaryField.Direction; SPAddFieldOptions op = SPAddFieldOptions.Default; //Add Additional Field to main list mainlst.Fields.AddFieldAsXml(field.SchemaXml, true, op); |
3 comments:
hi, its not working for me, i dont know where did it go wrong.
but fianlly found this link
http://msdn.microsoft.com/en-us/library/ff623048.aspx
The MSDN link works fine. Thanks a lot!
The msdn link now gives a 502 proxy error. Could you please post the useful part of the article or your own example??
Post a Comment