使用 LINQ 查询填充组合框(不同)
filling combo box using LINQ query (distinct)
我有一个 combocox,名称是 "cmbModel" 我想用 table 中的两个不同值填充数据库。
这就是我所做的:
private void Form1_Load(object sender, EventArgs e)
{
using (LINQSQLDataContext db = new LINQSQLDataContext())
{
cmbModel.DisplayMember = "szModel";
cmbModel.DataSource = db.VehEcus.ToList<VehEcu>();
}
}
这将用我的 table 的 szModel 列填充我的 cmbModel 但我想避免重复,如何在查询中使用“distinct
”来实现我的目标?
我还想在我的组合框
中显示我的 table 中的 2 个项目,例如“modelID-szModel
”
谢谢
如果您只想显示一个列,您可以 select 该列并使用 Distinct
:
cmbModel.DataSource = db.InfoProg_VehEcus.Select(x => x.szModel).Distinct();
您可以在查询后的任何时候应用 Distinct()。我建议你在枚举之前先做。
要创建自定义 modelID-szModel 字段,您可以使用 AsEnumerable() 枚举查询,然后创建匿名类型并使用 String.Format 将您的值连接到新字段中。
using (LINQSQLDataContext c = new LINQSQLDataContext ())
{
var items = c.VehEcus.Select(t => new
{
a = t.szModel,
b = t.modelID
}).Distinct()
.AsEnumerable().Select(t => new
{
displayMember = String.Format("{0}-{1}", t.a, t.b)
});
cmbModel.DisplayMember = "displayMember";
cmbModel.DataSource = items.ToList();
}
我有一个 combocox,名称是 "cmbModel" 我想用 table 中的两个不同值填充数据库。 这就是我所做的:
private void Form1_Load(object sender, EventArgs e)
{
using (LINQSQLDataContext db = new LINQSQLDataContext())
{
cmbModel.DisplayMember = "szModel";
cmbModel.DataSource = db.VehEcus.ToList<VehEcu>();
}
}
这将用我的 table 的 szModel 列填充我的 cmbModel 但我想避免重复,如何在查询中使用“distinct
”来实现我的目标?
我还想在我的组合框
modelID-szModel
”
谢谢
如果您只想显示一个列,您可以 select 该列并使用 Distinct
:
cmbModel.DataSource = db.InfoProg_VehEcus.Select(x => x.szModel).Distinct();
您可以在查询后的任何时候应用 Distinct()。我建议你在枚举之前先做。
要创建自定义 modelID-szModel 字段,您可以使用 AsEnumerable() 枚举查询,然后创建匿名类型并使用 String.Format 将您的值连接到新字段中。
using (LINQSQLDataContext c = new LINQSQLDataContext ())
{
var items = c.VehEcus.Select(t => new
{
a = t.szModel,
b = t.modelID
}).Distinct()
.AsEnumerable().Select(t => new
{
displayMember = String.Format("{0}-{1}", t.a, t.b)
});
cmbModel.DisplayMember = "displayMember";
cmbModel.DataSource = items.ToList();
}