我希望在分割后应用列值:
DataColumn maxSpend = new DataColumn();
maxSpend.DataType = System.Type.GetType("System.Double");
maxSpend.Expression = string.Format("{0:0.00} / price", this.maxSpend);
它可能以某种方式在列表达式中使用Math.floor()或者还有其他解决方案吗?
答案 0 :(得分:2)
DataColumn-Expressions中不允许使用.NET函数。最简单的方法是在dbms中首先执行此操作(如果您使用的话)。
例如SQL-Server:SELECT FLOOR(MaxSpend/Price)AS MaxSpend ...
。
另一种方法是循环访问DataRows。例如:
foreach (DataRow row in tbl.Rows)
{
double price = row.Field<double>("price");
row["maxSpend"] = Math.Floor(this.maxSpend / price);
}