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"。
有什么线索吗?我怎么能强迫你这么做?
非常感谢
如果您的DataGridViewColumn startdate
是string
类型。在更新回DataSource:之前,可以向Binding
的Parse
事件处理程序添加代码以格式化值
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";