C# 更改DataGrid.ItemSource的工作方式

C# 更改DataGrid.ItemSource的工作方式,c#,datetime,datagrid,C#,Datetime,Datagrid,我正在用数据填充一个表。有些数据需要显示日期,为此我使用了DateTime对象。这是我写的合同对象的一部分 这种方法的问题是,当我想调用table.ItemSource并向它提供一个契约对象列表时,它会在填充表时调用ToString(),而不是像我想的那样调用toSortDateString()。我是否可以更改它,使其调用ToSortDateString()而不是ToString()?我假设您正在使用WindowsForms中的DataGridView。它与其他DataGrid的工作原理几乎相同

我正在用数据填充一个表。有些数据需要显示日期,为此我使用了
DateTime
对象。这是我写的合同对象的一部分


这种方法的问题是,当我想调用
table.ItemSource
并向它提供一个契约对象列表时,它会在填充表时调用
ToString()
,而不是像我想的那样调用toSortDateString()。我是否可以更改它,使其调用
ToSortDateString()
而不是
ToString()

我假设您正在使用WindowsForms中的DataGridView。它与其他DataGrid的工作原理几乎相同

您可以通过设置属性来设置日期格式

myDateColumn.DefaultCellStyle.Format = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
然后,当需要打印日期时,它将调用而不是
.ToString()

由于您使用当前区域性的
ShortDatePattern
,因此它应该给出与
toSortDateString()
完全相同的结果