我有一个要绑定到列表框的数据集.但是,我希望将其中两个字段组合起来,以组成DataTextField.这是可能的吗,或者我必须遍历数据行?

lstAddressDropdown.DataSource = dsAddress;
lstAddressDropdown.DataTextField = "StreetAddress" + "Place";
lstAddressDropdown.DataBind();
lstAddressDropdown.Items.Insert(0, new ListItem("Please select"));

值得注意的是,数据集是从web服务返回的,因此我无法更改任何存储过程来组合其中的列.

推荐答案

您可以向datatable中添加一个额外的列,该列是一个计算列,并将其用作datatextfield(docs: Multi-field Data Binding).

对于上面的例子,你可以这样做:

dsAddress.Tables[0].Columns.Add("StreetAndPlace",typeof(string),"StreetAddress + Place");
lstAddressDropdown.DataSource = dsAddress;
lstAddressDropdown.DataTextField = "StreetAndPlace";
lstAddressDropdown.DataBind();
lstAddressDropdown.Items.Insert(0, new ListItem("Please select"));

要在StreetAddress和Place之间添加空格,请将上面显示的表达式字符串替换为"StreetAddress + ' ' + Place"

Asp.net相关问答推荐

页面刷新后如何存储JS Select 数据

如何在 ASP.Net Core 中验证上传的文件

从数据库中检索数据的最快方法

VS2012 中无法识别的标签前缀或设备过滤器asp

为什么微软决定支持 jQuery 如此重要?

取消选中时 ASP.NET CheckBox 不会触发 CheckedChanged 事件

有条件地在 Gridview 中隐藏 CommandField 或 ButtonField

HttpWebRequest 未通过凭据

如何更改 .ASPX 自动格式化设置 (Visual Studio)

使用 Lucene.NET 索引 .PDF、.XLS、.DOC、.PPT

Request.Params 和 Request.Form 什么时候不同?

ASP.Net Core MVC - 自定义属性的客户端验证

带有 ASP.NET MVC 6 锚标记助手的 QueryString

将通用列表绑定到转发器 - ASP.NET

如何在asp.net中获取应用程序路径?

回发不适用于 aspx 页面作为默认文档

如何判断本地主机

在后面的代码中删除 css 类

使用 FileUpload Control 获取文件的完整路径

静态变量是线程安全的吗? C#