【问题标题】:telerik radcombobox : C# lambda expression to get list of values of checked itemstelerik radcombobox : C# lambda 表达式以获取检查项的值列表
【发布时间】:2013-02-27 11:58:35
【问题描述】:

目前我必须将这个简单的操作分解为两部分,我相信隐藏起来会更好:

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));
}

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

【问题讨论】:

  • 仅服务器端是什么意思? UserControls 在服务器端几乎不受支持。哪个代码部分应该在服务器端执行?以及使用了哪些技术? WPF、Silverlight、ASP.NET?这是否与任何 MVVM 框架一起提供?我们需要更多关于您关注的信息。
  • 亲爱的@ebeeb,当然你错过了这样一个事实,即我也可以在客户端做同样的事情,使用 JavaScript 并且我已经在执行它,但结果是我在页面已加载,它误导了我在 JavaScript 中使用的 WCF 服务。不过还是谢谢!

标签: c# lambda telerik radcombobox


【解决方案1】:

这个怎么样?

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

【讨论】:

  • 或者.Select(i =&gt; int.Parse(i.Value.ToString())) 包括像“3”这样的值
  • @JensKloster,我同意转换。刚刚在代码中添加了Convert。这比转换为string,IMO 更好,而且他已经在使用它了。
  • 我认为 OP 要求如何重新设计他的代码。您仍然在RadComboBox (cblMagistrateCourts) 上操作,不会提供服务器端
  • @ebeeb,然后我们将不得不等待来自 OP 的 cmets,因为我在这里看不到任何服务器端的东西。他只是从 CB 项目中获取值(我猜没有数据绑定?)。
【解决方案2】:

在选择checkedItem的同时转换值...

List<int> selectedValues = (from checkedItem in cblMagistrateCourts.Items.ToList()
                            where checkedItem.Checked == true
                            select Convert.ToInt32(checkedItem.Value)).ToList();

【讨论】:

  • Thansk @NeWNeO 但事实证明,icebat 的解决方案中的 Where(i => i.Checked) 它更有效,因为它缩小了 序列本身。除此之外,您的与我所寻找的太接近了。 :-)
【解决方案3】:
rcb.CheckedItems.Select(x => x.Value).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多