C# 在DataGridView中绑定日期和时间以分隔列
我将DGV绑定到属性包含DateTime值的对象列表。我想显示并允许在单独的列中编辑日期和时间组件。我该怎么做?以下是我该怎么做 在C# 在DataGridView中绑定日期和时间以分隔列,c#,winforms,datagridview,C#,Winforms,Datagridview,我将DGV绑定到属性包含DateTime值的对象列表。我想显示并允许在单独的列中编辑日期和时间组件。我该怎么做?以下是我该怎么做 在DataGridView中,使暴露日期时间的属性(一起)不可见 还有另外两个属性,Date和Time,并让这些属性实质上链接回您的DateTime属性 像这样: [Browsable(false)] public DateTime DateTime { get; set; } public DateTime Date { get { return this
DataGridView
中,使暴露日期时间的属性(一起)不可见
还有另外两个属性,Date
和Time
,并让这些属性实质上链接回您的DateTime
属性
像这样:
[Browsable(false)]
public DateTime DateTime { get; set; }
public DateTime Date
{
get { return this.DateTime.Date; }
set
{
TimeSpan time = this.Time;
this.DateTime = value.Date + time;
}
}
public TimeSpan Time
{
get { return this.DateTime.TimeOfDay; }
set
{
this.DateTime = this.Date + value;
}
}
如果您建议我更改绑定对象,我不能直接这样做,因为它来自第三方API。Neely:嗯,如果你不能控制这个类,那么如果你想让DataGridView
为你处理数据绑定(至少据我所知),恐怕包装类将是你唯一的选择。否则,我建议您只需手动插入您自己的两列,处理单元格更改事件,检查更改是否发生在这两列中的一列中,然后自己更新底层对象。也许有一种更优雅的方式,但我就是这么做的。