Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 2010 以编程方式将数据复制到SpFieldChoice字段SharePoint 2010时出错_Sharepoint 2010 - Fatal编程技术网

Sharepoint 2010 以编程方式将数据复制到SpFieldChoice字段SharePoint 2010时出错

Sharepoint 2010 以编程方式将数据复制到SpFieldChoice字段SharePoint 2010时出错,sharepoint-2010,Sharepoint 2010,我是sharepoint新手,我有一个从SpFieldChoice派生的自定义字段类型,我的字段允许用户选择多个值,我需要用新列替换一些旧的自定义列,并将旧列中的数据复制到新列。旧列还允许用户通过勾选复选框选择多个值,我有以下代码将数据复制到新字段 foreach (SPListItem item in list.Items) { if (item[oldField.Title] == null) { item[newFld.Title] = string.Emp

我是sharepoint新手,我有一个从SpFieldChoice派生的自定义字段类型,我的字段允许用户选择多个值,我需要用新列替换一些旧的自定义列,并将旧列中的数据复制到新列。旧列还允许用户通过勾选复选框选择多个值,我有以下代码将数据复制到新字段

foreach (SPListItem item in list.Items)
{
    if (item[oldField.Title] == null)
    {
        item[newFld.Title] = string.Empty;
        item.Update();
    }
    else
    {
        string[] itemvalues = item[oldField.Title].ToString().Split(new string[] {";#"}, StringSplitOptions.None);
        StringBuilder multiLookupValues = new StringBuilder();
        multiLookupValues.Append(";#");
        for (int cnt = 0; cnt < (itemvalues.Length) / 2; cnt++)
        {
           multiLookupValues.Append (itemvalues[(cnt * 2) + 1].ToString() + ";#");
        }
        item[newFld.Title] = multiLookupValues.ToString();  
        item.SystemUpdate(false) ;
    }
}
在生成的stringbuilder的长度小于255个字符之前,此代码工作正常,但当此长度大于255时,我会得到以下异常。 无效的选择值。选择字段包含无效数据。请检查该值,然后重试


是否有其他方法将数据复制到SpFiledChoice,如何解决此问题?请帮助我。

多次更新,以使字符串不超过-即值+=。然而,如果问题是价值不能超过255,那么你必须考虑你是如何做选择的。如果它超过了长度,并且多次更新该值不起作用,并且站点列也会有相同的限制,那么您可以做下一件最好的事情:

1创建一个包含选项的新列表 2将目标字段更改为查找 3对从查找字段提取ID的每个项目进行相应更新

这是没有限制的

大卫·斯特林

大卫_sterling@sterling-咨询网


www.sterling-consulting.com

谢谢david,但由于我是sharepoint新手,我不理解第三部分,请您用代码详细说明一下好吗?