我正在使用MS ACCESS作爲後端的C#winforms應用程序。在datagridview中,我有一列「startTime」。如何驗證和編輯單元格值
我的要求是我想驗證startime,如果需要編輯值編輯並保存它。
如果用戶輸入「8.00 AM」而不是「8:00 AM」,我的程序不應該拋出一個錯誤說「無效的數據類型」(在數據庫中的「StartTime」是一個datetime類型的字段)。相反,我的程序應該從早上8點改變爲上午8點,並且應該在上午8點發送給後端。下面粘貼的是 是代碼。任何建議請。
private void dgvSession_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
//** Validation for StartTime
if (e.ColumnIndex == this.dgvSession.Columns["StartTime"].Index)
{
string time = e.FormattedValue.ToString().Trim();
strtDt = e.FormattedValue.ToString().Trim();
if (!ValidateTime(time))
{
//MessageBox.Show("Entered time is not in a correct format.);
e.Cancel = true;
return;
}
}
}
public bool ValidateTime(string thetime)
{
Regex checktime = new Regex(@"(^([0-9]|[0-1][0-9]|[2][0-3])[.:]([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)");
return checktime.IsMatch(thetime);
}