1

私はSharepointListを持っています

リスト名:RegionList フィールド: regId number Regname Choice(チェックボックス: 複数選択を許可)

Choice フィールドのアイテムは、CheckBoxList のアイテムに表示されます。これらの項目をコンマ区切り値の文字列として保存しています。

protected string GetSelectedRegions()
        {
            List<String> regList = new List<string>();
            // Loop through each item.
            foreach (ListItem item in chkRegion.Items)
            {
                if (item.Selected)
                {
                    // If the item is selected, add the value to the list.
                    regList.Add(item.Value);
                }
                else
                {
                    // Item is not selected, do something else.
                }
            }

            String regs = String.Join(",", regList.ToArray());
            return regs;
        }

上記のコードから、regsパラメーターには選択されたアイテムの数があり、リストに保存されます。さて、問題は、リストを開いてレコードをEditモードで開いたときです。CHOICE Field Doesn't Show any Selected ITEM. But, when i send only single value then it Show the Selected Item that was saved.

何か案が? CheckBoxList項目をCHOICEフィールドに保存して取得する方法を教えてください。前もって感謝します!

4

1 に答える 1

1

マルチチェックボックスを設定するには、次のようにSPFieldMultiChoiceValueを使用する必要があります。

protected SPFieldMultiChoiceValue GetSelectedRegions()
     {
        SPFieldMultiChoiceValue multiValue = new SPFieldMultiChoiceValue();

         List<String> regList = new List<string>();
        // Loop through each item.
        foreach (ListItem item in chkRegion.Items)
        {
            if (item.Selected)
            {
                // If the item is selected, add the value to the list.
                multiValue.Add(item.Value);
            }
            else
            {
                // Item is not selected, do something else.
            }
        }

        //String regs = String.Join(",", regList.ToArray());
        return multiValue;
    }

SPFieldMultiChoiceValueSPListItem に設定するよりも

  item["multivalued choice field name"]= GetSelectedRegions();
于 2013-03-18T05:03:51.703 に答える