如何设置下拉列表DataTextField以显示两个数据属性字段?

The*_*max 16 c# asp.net

我有一个下拉列表,其中包含后面代码中的数据.DataTextField使用以下代码设置该属性:

ddlItems.DataTextField = "ItemName";
Run Code Online (Sandbox Code Playgroud)

我想显示两个数据属性DataTextField.我尝试使用以下代码,但它不起作用.我已经在网上研究过但无法找到如何使用两个数据属性.

ddlItems.DataTextField = "ItemName" + "ItemDescription";
Run Code Online (Sandbox Code Playgroud)

我需要用什么代码来执行此操作?

小智 23

您可以使用LinqToSql创建一个包含displayfield的新数据源,该显示字段按您希望的方式进行格式化,例如:

var datasource = from x in products
                 select new {
                     x.Id,
                     x.Code,
                     x.Description,
                     DisplayField = String.Format("{0} ({1})", x.Code, x.Description)
                 };

comboBox.DataSource = datasource;
comboBox.DataValueField = "Id";
comboBox.DataTextField = "DisplayField";
comboBox.DataBind();
Run Code Online (Sandbox Code Playgroud)


Sim*_*Var 6

您可以使用ddlItems的Formatting事件,它允许您设置逻辑以将某个项目转换为字符串,或者如果在您的程序中使用它有任何意义,请使用像RepresentingString这样的属性返回Name + Desc,以及绑定到该属性.

类似的问题,更多的答案和代码示例: 格式DropDownList.TextValue