利用DataTable的表达式列完成自动计算列值

举个简单的例子比如数据库中存在两列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();         

关键还有一个好处就是当其他列数据发生变化的时候,表达式列也会自动跟着变化,也挺好玩的

原文地址:https://www.cnblogs.com/fuyun2000/p/3017396.html