ListBox中的DataTextField是2个字段的组合
我有一个包含用户的列表框。 数据源是User(包含,id,firstname,lastname,…)类型的通用列表。 现在我想使用id作为datavalue(通过dataValueField),我希望LastName +”+ Firstname作为DataTextField。
谁能告诉我这是怎么回事?
我正在使用C#(ASP.NET)。
最简单的方法是将新属性添加到包含全名的User类:
public string FullName { get { return LastName + " " + FirstName; } }
并将列表框绑定到该列表框。
这样做的好处是可以集中构建全名的逻辑,因此您可以在整个网站的多个位置使用它,如果需要更改它(例如,对于免费精选名字大全+“”+姓氏)你只需要做在一个地方。
如果更改类不是一个选项,您可以创建一个包装类:
public class UserPresenter { private User _user; public int Id { get { return _user.Id; } } public string FullName { get { return _user.LastName + " " + _user.Firstname; } } }
或挂钩到itemdatabound事件(可能在那里得到错误的名称)并直接更改列表框项目。
list.DataTextField = string.Format("{0}, {1}", LastName, Firstname);
如果您在其他地方使用它,您还可以向返回相同内容的User类添加DisplayName属性。
上述就是C#学习教程:ListBox中的DataTextField是2个字段的组合分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1020807.html