如何将日期从datagridview绑定到c#中的datetime选择器?

时间:2015-07-14 09:59:30

标签: c# datetime c#-4.0 datagridview

我有专栏名称"会话"在表中存储数据为" 2010-2014" etc格式,我从两个日期时间选择器得到这个字符串:

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

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

在插入中,这是有效的,但是对于更新,我需要将此值加载到日期时间选择器,因为它在datetimepicker1文本中的e-g必须是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 app开发。

任何人都知道我在哪里错过了什么? 提前谢谢..

1 个答案:

答案 0 :(得分:0)

您需要更改此

dateTimePicker1.Text = Convert.ToDateTime(first).ToString();

dateTimePicker1.SelectedDate = Convert.ToDateTime(first);

您转换为日期,然后再次返回字符串!!

老实说,你最好存储两个日期(开始和结束),而不仅仅是几年,因为日期是由日/月/年组成的,我觉得你可能真的需要做以下几点使它真正起作用......

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

...这样你最终会得到一个可以从字符串转换的有效日期(01/01/2015)。