我有datagridview的数据源是datatable。
我在datagridview中有两列:
名字,及时
在加载datagridview之后,我想要添加一个名为工期的新列,它是一个计时器列,即基于IN时间,工期列应该显示带有当前时间间隔的秒表。
我如何使持续时间列秒表继续计时器的每秒钟,如数字时钟?
发布于 2016-02-27 12:33:21
可以将字符串列添加到DataTable,并将其用作持续时间列。然后,您可以订阅定时器的Tick事件,您可以将定时器的间隔设置为1000,并在“持续时间”列中显示计数定时器的结果:
void timer_Tick(object sender, EventArgs e)
{
foreach( DataRow row in YourDataTable.Rows)
{
var diff = row.Field<DateTime>("DateTimeColumn").Subtract(DateTime.Now);
if(diff.TotalSeconds>0)
{
row["DurationColumn"] = string.Format("{0} d {1:D2}:{2:D2}:{3:D2}",
diff.Days, diff.Hours, diff.Minutes, diff.Seconds);
}
else
{
row["DurationColumn"] = "0 d 00:00:00";
}
}
}https://stackoverflow.com/questions/35668173
复制相似问题