Format DataTextField of the DropDownList
Some times there is a need to format DataTextField value of the DropDownList without changing the data source structure.
One of the ways to achieve this is to use LINQ by changing the property value “on the fly”. We just need to create the new structure that is being bound to the DropDownList.
var userList = GetUsers(); ddlUsers.DataSource = (from obj in userList select new { ID = obj.ID, Name = string.Format("{0} {1} - £{2}", obj.Name, obj.SurName, obj.Balance) }).ToList(); ddlUsers.DataTextField = "Name"; ddlUsers.DataValueField = "ID"; ddlUsers.DataBind();
This is quite handy when you are unsure if the text formatting will change in the future. Hope I helped you with this quick example 🙂