2012-10-03 29 views
0

我有一列列出了Person或Group類型的列表。我的要求是需要將另一個列表項目的項目權限更改爲上述列中的選定值。根據個人或團體類型中選擇的值更改共享點列表項目權限

例如,我有兩個列表A和B.列表'A'包含'Person and Group'類型的'Access to'列(可以是多個)。我想將列表'B'的項目權限更改爲列表A'訪問'列中的選定值。

指導我如何做到這一點。

+0

你試過了什麼?你讀過「SPList」的文檔嗎?什麼不清楚? –

+0

SPPrincipal principal =(SPPrincipal)組; SPRoleAssignment rAssignment = new'SPRoleAssignment(group); parentItem.BreakRoleInheritance(true); parentItem.RoleAssignments.Add(principal); parentItem.Update();'這將工作形式。但我不知道如何從我的SPFieldUserValueCollection中將值轉換爲SPGroup對象。 – aarpey

+0

這對我有用SPGroup oGroup = web.Groups.GetByID(oFieldUserValue.LookupId); – aarpey

回答

1
SPWeb web = SPContext.Current.Web; 
SPGroup oGroup = web.Groups.GetByID (oFieldUserValue.LookupId); //Look up field value          
SPPrincipal principal = (SPPrincipal)oGroup; 
SPRoleAssignment roleAssignment = new SPRoleAssignment(principal);           
permFolder.Item.BreakRoleInheritance(true);           
roleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions["Contribute"]); 
permFolder.Item.RoleAssignments.Add(roleAssignment); 
permFolder.Item.Update(); 
finalItem.Update(); 
相關問題