从集合中查找列表框中的项目并选择它们

时间:2011-11-15 22:46:19

标签: c# linq c#-4.0

嗨,我是Linq的新手,有一个问题。我的页面上有一个列表框,其中包含带有产品的复选框列表。在我的代码隐藏中,当我绑定我的telerik网格时,我想找到该订单的所有产品并选择它们。浏览列表并选择列表框中的项目的最佳方法是什么?请显示一些代码示例?谢谢你的帮助

int orderId = ((Order)e.Item.DataItem.OrderId);
RadListBox chkProductList = (RadListBox)editItem.FindControl("chkProductList");

List<Product> orderProductList = orderBL.FindProductsinOrder(orderId)

1 个答案:

答案 0 :(得分:0)

这可能不准确,但您应该能够做到这样的事情:

orderProductList.ForEach(x => chkProductList.Items.FindByValue(x.ToString()).Selected = true);

在对CheckedListBox进行一些研究之后,我认为这就是你所需要的:

orderProductList.ForEach(x => 
    chkProductList.SetItemChecked(chkProductList.Items.IndexOf(x.ToString()), true));

修改

使用ASP.NET AJAX的RadListBox控件,您可以按值选择项目,如下所示:

orderProductList.ForEach(x => 
    chkProductList.FindItemByValue(x.ToString()).Selected = true);