我是新來的sharepoint,我有一個派生自SpFieldChoice的自定義字段類型,我的字段允許用戶選擇多個值,我有要求用一些舊的自定義列替換新列,並將舊列中的數據複製到新列。舊列還允許用戶通過勾選複選框來選擇多個值,我有以下代碼將數據複製到新字段。以編程方式將數據複製到SpFieldChoice字段的錯誤SharePoint 2010
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個charachters,但是當這個長度大於255我得到下面的異常。 選擇值無效。選擇字段包含無效數據。請檢查該值並重試。
是否有任何其他方式複製數據到SpFiledChoice,我該如何解決這個問題?請幫幫我。
感謝大衛,但由於我是新到SharePoint我不明白的第三部分,你可以請詳細說明代碼? – Parikshit