举个简单的例子比如数据库中存在两列firstName,lastName。我们获取两列的合并结果一般直接sql就可以了select firstName + lastName from tableName
不过利用DataTable中的表达式列也可以实现这样的效果,而且也很简单,看代码
DataTable table = new DataTable(); table.Columns.Add("firstName", typeof(string)); table.Columns.Add("lastName", typeof(string)); DataRow row1 = table.NewRow(); row1["firstName"] = "张"; row1["lastName"] = "三"; table.Rows.Add(row1); DataRow row2 = table.NewRow(); row2["firstName"] = "李"; row2["lastName"] = "四"; table.Rows.Add(row2); table.Columns.Add("fullName", typeof(string),"firstName+lastName");//这边创建一个前面两列相加的列 ddlCity.DataSource = table; ddlCity.DataTextField = "fullName";//这边直接写就有结果了 ddlCity.DataValueField = "firstName"; ddlCity.DataBind();
关键还有一个好处就是当其他列数据发生变化的时候,表达式列也会自动跟着变化,也挺好玩的