2017-10-10 202 views
0

我使用的是DataTable(在代码中创建),我使用DataGrid显示它是DefaultView。该DataTable包含DataColumnDateTime因为它的DataTypeC#WPF DataGrid - DateTime格式

DataGrid显示为日期:10/9/2017 12:00:00 AM。有没有不改变列的DataTypestring显示DateTime10/9/2017的方法吗?

感谢提前:)

回答

0

你的绑定应该像这样

{Binding Property, StringFormat=d}" 

完整的示例

<DataGridTextColumn Header="Your Header" Binding="{Binding Property, StringFormat=d}" ></DataGridTextColumn> 
+0

在XAML中DataGrid中不包含列定义,它只是绑定到DataTable的默认视图。完美的作品,除了日期显示。 – Njubster

+0

让c。给我一些时间 – Ramankingdom

0

您可以处理为DataGridAutoGeneratingColumn事件:

private void dg_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
{ 
    if (e.PropertyType == typeof(DateTime)) 
    { 
     e.Column = new DataGridTextColumn() 
     { 
      Binding = new Binding(e.PropertyName) { StringFormat = "d" } 
     }; 
    } 
}