我有dgvData(datagridview),cmbPickRoom(combobox),numDay_In& numDay_Out(numericupdown)和类似的代码
private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
DataGridViewRow row = this.dgvData.Rows[e.RowIndex];
cmbPickRoom.Text = row.Cells["Room"].Value.ToString();
numDay_In.Text = row.Cells["Day_In"].Value.ToString();
numDay_Out.Text = row.Cells["Day_Out"].Value.ToString();
}
}
而mysql中的数据存储日期格式(dd-mm-yyyy),用于“Day_In”和“Day_Out”。
我想点击dgvData,numDay_In和numDay_Out只需要一天(dd)
答案 0 :(得分:0)
您可以使用DateTime.TryParse将用户输入的字符串转换为日期时间格式,然后像我在下面的代码中那样从中获取Day。
DateTime dt = new DateTime();
if(DateTime.TryParse(row.Cells["Day_In"].Value, out dt))
{
numDay_In.Text = dt.Day.ToString();
}
else
{
//Code to display error message
}
此代码的附加优势在于,您可以通过在if条件中检查TryParse的成功来检查用户输入的格式是否是coorect,如果失败,您可以提示用户输入正确的日期格式。
答案 1 :(得分:0)
如果数据库字段的类型为DateTime,(Day_In和Day_Out),那么您不需要将这些值转换为字符串而是转换为DateTime变量,那么获取日期只需要读取属性< / p>
Authentication