C#计算图表的数据表列

时间:2018-11-30 10:19:55

标签: c# datatable

我想通过计算其他列中的项目将一列添加到我的数据表中。我知道,我可以那样做:

workTable.Columns.Add("Time", typeof(Double));  
workTable.Columns.Add("Distance", typeof(Double));  
workTable.Columns.Add("Velocity", typeof(Double), "Distance / Time");

就我而言,我需要添加实际上的Velocity,其定义为: (以前的距离)/(以前的时间)。

所以我想知道如何通过使用数据表其他行中的值来创建新列。

1 个答案:

答案 0 :(得分:0)

谢谢您的代码。它没有达到我的预期。

  1. 循环必须从1开始,而不是0。
  2. 然后我不明白如何计算速度,结果就像我将Distance乘以常数一样。 我将代码更改为下面的代码,现在可以使用。

    for (int i = 1; i < workTable.Rows.Count; i++)
    {
        DataRow row = workTable.Rows[i];
        double velocity = (workTable.Rows[i].Field<double>("Distance") - 
        workTable.Rows[i-1].Field<double>("Distance")) / 
        (workTable.Rows[i].Field<double> 
        ("Time") - table.Rows[i - 1].Field<double>("Time"));
        row.SetField("Velocity", velocity);
    }