首先将 DataGridView 要是显示时间的列(比如StartTime) 设为String 类型.
将对应的DateTable对应的列也设位String类型.
DataRow row = dt.NewRow();
Row["StartTime"] = DateTime.Now.ToString("HH:mm:ss fffffff");
注意秒与 秒的小数部分要用一个空格分割, 否则, 会出错. 秒的小数位数最高位7位
dt.Rows.Add(row);
//如果数据架构已更改,则为 true;如果只有值发生了更改,则为 false。
bindingSource1.ResetBindings(false);// 相当于.net1.1 的bund 方法
转回DateTime类型(也许保存到数据库里,想存为DateTime类型)
/// <summary>
/// change string time to datetime type, the string time like '17:07:08 0346690'
/// </summary>
/// <param name="strTime">the string time like '17:07:08 0346690' </param>
/// <returns>if successfully convert the time, return the date time, else return the DateTime.MinValue;.</returns>
private DateTime ToDateTime(string strTime)
{
DateTime dt = DateTime.MinValue;
try
{
string[] strlist = strTime.Split(' ');
dt = Convert.ToDateTime(strlist[0]).AddTicks(Convert.ToInt32(strlist[1].PadRight(7,'0')));
}
catch
{ }
return dt;
}