C# C中datagridview中两个不同单元格的总和#

C# C中datagridview中两个不同单元格的总和#,c#,winforms,datagridview,datagrid,C#,Winforms,Datagridview,Datagrid,My datagridview有两列: Row1 - User; col1 - TimeIn; col2 - TimeOut. TimeIn和TimeOut都用DateTime.Now.ToShortTimeString()填充 基本上,有一个用户进入一幢大楼,col1在用户登记后得到时间,然后当他离开大楼并结账时,col2也得到时间。第一排。Col2在他们退房时被填满 我曾尝试将时间转换为一个数字,然后将col1+col2之和转换为网格外的标签,但我的效率不高。我是C#的新手。假设您添加了一

My datagridview有两列:

Row1 - User; col1 - TimeIn; col2 - TimeOut.
TimeIn
TimeOut
都用
DateTime.Now.ToShortTimeString()填充

基本上,有一个用户进入一幢大楼,col1在用户登记后得到时间,然后当他离开大楼并结账时,col2也得到时间。第一排。Col2在他们退房时被填满


我曾尝试将时间转换为一个数字,然后将col1+col2之和转换为网格外的标签,但我的效率不高。我是C#的新手。

假设您添加了一个duration列,那么在绑定网格后,它看起来是这样的。col2-col1生成可格式化的时间跨度

foreach(DataGridViewRow row in yourDataGridView.Rows)
{
    row["Duration"] = (Convert.ToDateTime(row["col2"])-Convert.ToDateTime(row["col1"])).ToString("c");
}
c的TimeSpan格式会产生一个特定的数据循环,但您也可以用其他方式格式化此内容。有关如何设置时间跨度格式的一些示例

https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings

另外,根据您的基础数据结构,您可能希望在绑定之前将TimeSpan分配给列表,但您尚未提供此代码。

您希望获得TimeIn和TimeOut之间的总时间吗?DGV可以有一列显示
表达式的结果。当您将
日期时间
存储为
字符串
时,您的项目就出轨了。请阅读并阅读请阅读-总结是,这不是一个理想的方式来解决志愿者,可能会适得其反获得答案。请不要在你的问题中添加这个。我很抱歉让这个看起来不专业和愚蠢,但这是我第一次来这里,我读了政策,但我认为我没事。所以,是的,我需要TimeIn和TimeOut的总和,我使用了DateTime,正如我说的,我是C#新手,我认为使用DateTime是一种方式。请用解决我问题的最佳方法纠正我。谢谢你想知道这两次的差别吗?