如何将日期从 datagridview 绑定到 c# 中的日期时间选择器?
How to bind date from datagridview to datetime picker in c#?
我在 table 中有列名 "Session",它将数据存储为“2010-2014”等格式,我从两个日期时间选择器中获取此字符串:
string dat = dateTimePicker1.Text + "-" + dateTimePicker2.Text;
我将 datetimepicker 属性 设置为 Year only 所以它给了我选择日期时的结果
“2010-2014”
在插入中,这工作正常,但为了更新,我需要将此值加载回日期时间选择器,因为根据我的示例,例如,datetimepicker1 中的文本必须是 2010 年,datetimepicker2 中的文本必须是 2014 年。
我在 google 上进行了大量搜索,结果如下:
string str = row.Cells[5].Value.ToString();
string first = str.Substring(0, str.IndexOf('-'));
string second = str.Substring(str.IndexOf('-') + 1);
dateTimePicker1.Text = Convert.ToDateTime(first).ToString();
dateTimePicker2.Text = Convert.ToDateTime(second).ToString();
但是它抛出了一个错误:
String was not recognized as a valid DateTime
我正在使用 C# windows 应用程序开发。
任何人都知道我在哪里遗漏了什么?
提前致谢..
你需要改变这个
dateTimePicker1.Text = Convert.ToDateTime(first).ToString();
到
dateTimePicker1.SelectedDate = Convert.ToDateTime(first);
您转换为日期,然后又转换回字符串!!
老实说,您最好存储两个日期(开始和结束),而不仅仅是年份,因为日期由 day/month/year 组成,我觉得您可能实际上需要这样做以下使其真正起作用......
dateTimePicker1.SelectedDate = Convert.ToDateTime("01/01/" + first);
... 这样你就得到了一个可以从字符串转换的有效日期 (01/01/2015)。
我在 table 中有列名 "Session",它将数据存储为“2010-2014”等格式,我从两个日期时间选择器中获取此字符串:
string dat = dateTimePicker1.Text + "-" + dateTimePicker2.Text;
我将 datetimepicker 属性 设置为 Year only 所以它给了我选择日期时的结果 “2010-2014”
在插入中,这工作正常,但为了更新,我需要将此值加载回日期时间选择器,因为根据我的示例,例如,datetimepicker1 中的文本必须是 2010 年,datetimepicker2 中的文本必须是 2014 年。
我在 google 上进行了大量搜索,结果如下:
string str = row.Cells[5].Value.ToString();
string first = str.Substring(0, str.IndexOf('-'));
string second = str.Substring(str.IndexOf('-') + 1);
dateTimePicker1.Text = Convert.ToDateTime(first).ToString();
dateTimePicker2.Text = Convert.ToDateTime(second).ToString();
但是它抛出了一个错误:
String was not recognized as a valid DateTime
我正在使用 C# windows 应用程序开发。
任何人都知道我在哪里遗漏了什么? 提前致谢..
你需要改变这个
dateTimePicker1.Text = Convert.ToDateTime(first).ToString();
到
dateTimePicker1.SelectedDate = Convert.ToDateTime(first);
您转换为日期,然后又转换回字符串!!
老实说,您最好存储两个日期(开始和结束),而不仅仅是年份,因为日期由 day/month/year 组成,我觉得您可能实际上需要这样做以下使其真正起作用......
dateTimePicker1.SelectedDate = Convert.ToDateTime("01/01/" + first);
... 这样你就得到了一个可以从字符串转换的有效日期 (01/01/2015)。