选择datagridview行时从日期获取数据日期

时间:2016-12-09 14:01:11

标签: c# mysql datagridview

我有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)

2 个答案:

答案 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