使用LINQ查询填充组合框

时间:2012-02-16 20:53:31

标签: c# linq

我正在尝试使用DataSet上的LINQ查询生成包含数据的组合框。问题是,组合框中没有任何东西出现。完全没有。

var digits =
    (from digit in DDDataSet.Digits.AsEnumerable()
    where (!digit.pressed)
    select new {DigitList = digit.name});
cboDigits.DataSource = digits.ToList();
cboDigits.DisplayMember = "DigitList";

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我认为你需要:

cboDigits.DataBind();
设置DataSource和DisplayMember后

希望这有帮助

答案 1 :(得分:0)

大多数控件会自动执行数据绑定,这意味着您通常不需要显式调用方法DataBind

Linq在使用ToList()时不会延迟,因此会计算所有数据。但是,对于combobox,您似乎仍需要使用DataBind()

如果您使用Winform,则无需调用DataBind。如果您使用的是Asp.Net,则需要。

答案 2 :(得分:0)

试试这个

    var stuff = dg.Stuffs.Where(c=> c.admin !=1).ToList();
                for (int i = 0; i < stuff.Count; i++)
                {
                    string test = stuff.ElementAt(i).Name;
                    comboBox1.Items.Add(test);

                }