telerik radcombobox:C#lambda表达式,用于获取已检查项目的值列表

时间:2013-02-27 11:58:35

标签: c# lambda telerik radcombobox

目前我必须分两部分分解这个简单的操作,我相信这是一个更好的方法是躲避我:

List<int> selectedValues= new List<int>();
...
IEnumerable<RadComboBoxItem> checkedItems = from checkedItem in cblMagistrateCourts.Items.ToList()
                                             where checkedItem.Checked == true
                                             select checkedItem;
foreach (RadComboBoxItem item in checkedItems)
{
     if (item.Checked)
          selectedValues.Add(Convert.ToInt32(item.Value));
}

我希望这只能在服务器端完成。

3 个答案:

答案 0 :(得分:4)

这个怎么样?

List<int> selectedValues = cblMagistrateCourts.Items.Where(i => i.Checked)
                                                    .Select(i => Convert.ToInt32(i.Value))
                                                    .ToList();

答案 1 :(得分:1)

在选择checkedItem ...

的同时转换值
List<int> selectedValues = (from checkedItem in cblMagistrateCourts.Items.ToList()
                            where checkedItem.Checked == true
                            select Convert.ToInt32(checkedItem.Value)).ToList();

答案 2 :(得分:-1)

rcb.CheckedItems.Select(x => x.Value).ToList();