C# 使用LINQ查询填充组合框
我试图用数据集上LINQ查询产生的数据填充组合框。问题是,组合框中没有显示任何内容。一点也不C# 使用LINQ查询填充组合框,c#,linq,C#,Linq,我试图用数据集上LINQ查询产生的数据填充组合框。问题是,组合框中没有显示任何内容。一点也不 var digits = (from digit in DDDataSet.Digits.AsEnumerable() where (!digit.pressed) select new {DigitList = digit.name}); cboDigits.DataSource = digits.ToList(); cboDigits.DisplayMember = "Dig
var digits =
(from digit in DDDataSet.Digits.AsEnumerable()
where (!digit.pressed)
select new {DigitList = digit.name});
cboDigits.DataSource = digits.ToList();
cboDigits.DisplayMember = "DigitList";
有什么想法吗?我想你需要:
cboDigits.DataBind();
设置数据源和DisplayMember之后
希望这有助于大多数控件自动进行数据绑定,这意味着您通常不需要显式调用方法
DataBind
使用ToList()
时不会延迟Linq,因此会计算所有数据。但是,对于combobox
,似乎仍然需要使用DataBind()
如果您使用的是Winform
,则不需要调用DataBind
。如果您使用的是Asp.Net,您需要。试试这个
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);
}
var stuff=dg.stuff.Where(c=>c.admin!=1.ToList();
for(int i=0;i
是否使用数据绑定是您的数字返回值您是否验证了查询是否实际返回至少一项(可能通过调试)?我使用WinForms。没有必要调用DataBind(),我不认为这是真的。也许是你的林肯。您是否尝试过这样做:var digits=(来自DDDataSet.digits.AsEnumerable()中的digit,其中(!digit.pressed)select digit.name).ToList();cboDigits.DataSource=位数;没有匿名类型和DisplayMember?Databind不是成员方法