使用来自不同列的值通过数据源填充组合框
Posted
技术标签:
【中文标题】使用来自不同列的值通过数据源填充组合框【英文标题】:Fill Combo-box via DataSource Using Values from Various Columns 【发布时间】:2010-06-12 04:00:34 【问题描述】: Employee emp = new Employee();
comHandledBySQt.DataSource = emp.GetDataFromTable("1");
comHandledBySQt.DisplayMember = "FirstName";
上面的代码在组合框中显示员工名字的下拉列表。我想显示名字和姓氏。我该怎么做?
我尝试在下面包含两列 FirstName 和 LastName,但没有成功。
comHandledBySQt.DisplayMember = "FirstName" + " " + "LastName";
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:如果您需要立即与数据源进行绑定,则需要为此创建一个自定义视图。或者您可以遍历从 emp.GetDataFromTable() 返回的行,并使用 string.Format() 或一些字符串操作将每一行添加到 DropDown。
【讨论】:
【参考方案2】:最简单的方法是选择具有所需值的匿名对象。
Employee emp = new Employee();
comHandledBySQt.DataSource = from x in emp.GetDataFromTable("1")
select new x.Id, Name = x.FirstName + " " + x.LastName ;
comHandledBySQt.DisplayMember = "Name";
comHandledBySQt.ValueMember = "Id";
【讨论】:
我对 Linq 不是很熟悉。我收到此错误:“无法将 lambda 表达式转换为类型 'string',因为它不是委托类型” - 关键字选择变为蓝色下划线,请您提供建议。谢谢以上是关于使用来自不同列的值通过数据源填充组合框的主要内容,如果未能解决你的问题,请参考以下文章