如何在c#中从datagridview绑定日期到日期时间选择器



我在表中有列名"Session",其中存储数据为"2010-2014"等格式,我从两个日期时间选择器中获得此字符串:

string dat = dateTimePicker1.Text + "-" + dateTimePicker2.Text;

我将datetimepicker属性设置为Year only,因此当我选择日期时它会给我结果"2010 - 2014"

在插入这是工作良好,但更新我需要加载此值回日期时间选择器,因为它的e-g在datetimepicker1文本必须是2010年,在datetimepicker2文本必须是2014年根据我的例子。

我在谷歌上做了很多搜索,并这样做:

                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);

您转换为日期,然后又返回到字符串!!


老实说,你最好存储两个日期(开始和结束),而不是年份,因为日期是由日/月/年组成的,我有一种感觉,你可能需要做以下事情来使它实际工作…

dateTimePicker1.SelectedDate = Convert.ToDateTime("01/01/" + first);

…这样你就可以得到一个有效的日期(01/01/2015),它可以从字符串转换。

相关内容

  • 没有找到相关文章

最新更新