C#日期字段数据绑定值到字符串

本文关键字:字符串 数据绑定 日期 字段 | 更新日期: 2023-09-27 18:28:03

我从数据库中获得字符串格式的2个日期字段,如:

"yyyy.mm.dd"

然后,在我的表单中,我想将DataBinding添加到2个日期选择器中,它将显示以下日期:

dtStart.DataBindings.Add(new Binding("Value", _ds.Tables["invoice"], "startdate"));
dtEnd.DataBindings.Add(new Binding("Value", _ds.Tables["invoice"], "enddate"));

现在的问题是,当我从DatePicker更改日期时,值将是一个日期,我需要的是更新值,但格式为"yyyy.mm.dd"。

有什么线索吗?我怎么能强迫你这么做?

非常感谢

C#日期字段数据绑定值到字符串

如果您的DataGridViewColumn startdatestring类型。在更新回DataSource:之前,可以向BindingParse事件处理程序添加代码以格式化值

Binding bind = new Binding("Value", _ds.Tables["invoice"], "startdate");
bind.Parse += (s,e) => {
   e.Value = ((DateTime)e.Value).ToString("yyyy.mm.dd");
};
dtStart.DataBindings.Add(bind);
//Do the same for dtEnd

但是,我建议将您的DataGridViewColumn data type设置为DateTime。然后,您就不需要任何自定义的Parsing,只需设置该列中单元格的格式,如下所示:

dataGridView1.Columns["startdate"].DefaultCellStyle.Format = "yyyy.mm.dd";