c# - C#为图表计算数据表列
问题描述
我想通过计算其他列中的项目来向我的数据表中添加一列。我知道,我可以这样做:
workTable.Columns.Add("Time", typeof(Double));
workTable.Columns.Add("Distance", typeof(Double));
workTable.Columns.Add("Velocity", typeof(Double), "Distance / Time");
在我的情况下,我需要添加实际上定义为:(距离-先前距离)/(时间-先前时间)的速度。
所以我想知道如何通过使用数据表其他行的值来创建一个新列。
解决方案
谢谢你的代码。它没有像我预期的那样工作。
- 循环必须从 1 开始,而不是 0。
然后我不明白速度是如何计算的,结果就像我将距离乘以一个常数。我将代码更改为下面的代码,现在可以使用。
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); }
推荐阅读
- debugging - 使用单 GPU 和 Visual Studio 进行 Cuda 调试
- javascript - 如何在打开随机播放的情况下跳到下一首歌曲?反应原生
- c++ - 具有模板参数的返回类型的 C++ lambda 函数的 CC 模式缩进
- redux - 需要帮助在 Redux 开发工具中显示和查看状态
- ios - 访问 ARKit – iOS App 拒绝指南 2.5.1
- bash - 如何生成没有某些字符或允许某些字符集的openssl河豚
- reactjs - 当我将学生传递给 redux 中的操作时,我的图像数组为空,但它在邮递员中工作
- mysql - 如何获取表格中每个类别的最新日期?
- php - 我可以将 WebSocket 从 ws 更改为 wss 吗?(000webhost)
- java - Java ZonedDateTime.format 问题