I wanted to set a person field default value with my current user, but that doesnt exist in sharepoint.
What i did is :
- I created an event receiver
- I checked if it was my library
- Then i set the person value thanks to the ItemAdding event firing
1: /// <summary>
2: /// An item is being added.
3: /// </summary>
4: public override void ItemAdding(SPItemEventProperties properties)
5: {
6: SPSecurity.RunWithElevatedPrivileges(delegate()
7: {
8: try
9: {
10: this.EventFiringEnabled = false;
11: base.ItemAdded(properties);
12: if (properties.List.RootFolder.Name == "libraryInternalName")
13: {
14: SPWeb web = properties.List.ParentWeb;
15: SPList List = properties.List;
16: //replace the id by your person colomn
17: SPField fld = List.Fields[new Guid("03457d42-31a3-4088-b9af-4e3f2e368545")];
18: SPUser usr = web.CurrentUser;
19: SPFieldUserValue defValue = new SPFieldUserValue();
20: defValue.LookupId = usr.ID;
21: fld.DefaultValue = defValue.ToString();
22: fld.Update();
23: List.Update();
24: }
25:
26: }
27: catch (Exception)
28: {
29: }
30: finally
31: {
32: this.EventFiringEnabled = true;
33: }
34: });
35: }
- Advertisement -
View this add-on(SharePoint Default Value Add-On), which inject a “default value” section into “Create Column” dialog.Allow you set “Current User” (User who is adding item) as default value.