之前系统项目列表栏中用户为不允许多选的情况下:
1.在SPD将列表栏允许多选
2.源代码
SPFieldUser user = (SPFieldUser)item.Fields["用户栏名"];
SPFieldUserValue userValue = (SPFieldUserValue)user.GetFieldValue(item["用户栏名"] == null ? "" : * item["用户栏名"].ToString());
if (userValue != null)
{
drProject["用户名"] = userValue.User.Name;
drProject["用户ID"] = userValue.User.LoginName.Split('\\')[1];
}
改为
SPFieldUserValueCollection users = item["用户栏名"] as SPFieldUserValueCollection;
if (users != null)
{
foreach (SPFieldUserValue user in users)
{
string deptUserName = ADHelper.GetDeptNameByLoginName(user.User.LoginName);
if (user.User != null && deptUserName.Equals(deptName))
{
drProject["用户名"] += user.User.Name;
drProject["用户ID"] += user.User.LoginName.Split('\\')[1];
}
}
}
else
{
drProject["用户名"] = "";
drProject["用户ID"] = "";
}