我有一个小的LINQ查询来填充下拉控件(WinForms Telerik应用程序),其中的数据行显示两个值(ITNBR和描述):
var query = from i in db.ItemMasts.AsNoTracking()
orderby i.ITNBR
select new { i.ID, cboText = i.ITNBR + " - " + i.Description };
//Now we can bind the results to the control
cbo.DataSource = query.ToList();
cbo.DisplayMember = "cboText";
cbo.ValueMember = "ID";
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.但我希望用户能够切换"cboText"的顺序 - 有时它显示为ITNBR - 描述,有时它显示为描述 - ITNBR
有没有办法在不编写两个单独的LINQ查询的情况下执行此操作?提前致谢.
是的使用三元运算符.假设您使用它isUserflag来决定订单是否为真正的一个订单而错误然后是第二个订单.
var query = from i in db.ItemMasts.AsNoTracking()
orderby i.ITNBR
select new { i.ID, cboText = isUserflag ? i.ITNBR + " - " + i.Description : i.Description + " - " +i.ITNBR };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |