我想通过计算其他列中的项目将一列添加到我的数据表中。我知道,我可以那样做:
workTable.Columns.Add("Time", typeof(Double));
workTable.Columns.Add("Distance", typeof(Double));
workTable.Columns.Add("Velocity", typeof(Double), "Distance / Time");
就我而言,我需要添加实际上的Velocity,其定义为: (以前的距离)/(以前的时间)。
所以我想知道如何通过使用数据表其他行中的值来创建新列。
答案 0 :(得分:0)
谢谢您的代码。它没有达到我的预期。
然后我不明白如何计算速度,结果就像我将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);
}