【问题标题】:How to show multiple fields in combo box when using linq to sql?使用linq to sql时如何在组合框中显示多个字段?
【发布时间】:2016-08-08 10:53:41
【问题描述】:

我有一个大米类型和价格的数据库。它包含三个字段:fld_RiceTypefld_RiceIdfld_RicePrice。 我想在组合框中显示这个数据库。我使用了以下代码:

cmbRice.DisplayMember = "fld_RiceType";
cmbRice.ValueMember = "fld_RiceID";
cmbRice.DataSource = rnlq.tbl_Rices.OrderBy(c => c.fld_RiceType).Select(c => c);

我想将cmb.DisplayMember 更改为显示fld_RiceType + fld_RicePrice

我该怎么做?

  • fld_RiceTypenvarchar(50)
  • fld_RicePricevarchar(50)

【问题讨论】:

  • WinForms 组合框?
  • Yes.WinForms ComboBox.
  • 在 Select 中创建一个匿名类型,其中包含一个内容为 fld_RiceType + fld_RicePrice 的附加属性,并将该属性用作 DisplayMember。
  • @Ralf 我认为你应该发布一个答案。

标签: c# sql .net linq combobox


【解决方案1】:

我不确定这是否可行,但您可以尝试类似的方法

 OrderBy(c => c.RiceType).Select(c => new { RiceId = c.RiceId, 
                                             RiceType = c.RiceType,
                                             RicePrice = c.RicePrice,
                                             DisplayValue = c.RiceType + ": " + c.RicePrice 
                                           })

然后当然使用 DisplayValue 作为DisplayMember

【讨论】:

  • 请说明如何使用 DisplayValue 作为 DisplayMember
  • @AbidAli 我建议你去阅读一些 linq 示例。堆栈溢出有一些很好的教程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 2012-08-21
  • 1970-01-01
相关资源
最近更新 更多