我有一個使用本地數據庫的.NET WPF應用程序。 我還安裝了本地數據庫運行時。 該數據庫是通過Visual Studio 2015創建的。本地SQL數據庫文件 - 日期顯示爲美式格式
我的用於日期顯示的系統環境是DD/MM/YY。 當我查詢數據庫並在其中顯示DataGrid時,日期返回爲MM/DD/YYYY xx:xx:xx am/pm。
有沒有辦法改變它?我是新來的整個SQL數據庫的東西。
謝謝。
我有一個使用本地數據庫的.NET WPF應用程序。 我還安裝了本地數據庫運行時。 該數據庫是通過Visual Studio 2015創建的。本地SQL數據庫文件 - 日期顯示爲美式格式
我的用於日期顯示的系統環境是DD/MM/YY。 當我查詢數據庫並在其中顯示DataGrid時,日期返回爲MM/DD/YYYY xx:xx:xx am/pm。
有沒有辦法改變它?我是新來的整個SQL數據庫的東西。
謝謝。
你可以申請一個StringFormat
的結合,無論是直接在XAML標記,如果您所定義的列明確:
<DataGrid ...>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Date, StringFormat=dd\/MM\/yy}" />
...
...或處理AutoGeneratingColumn
事件如果您正在使用自動生成的列:
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyName == "Date") //<-- The name of your date column
{
e.Column = new DataGridTextColumn() { Header = e.PropertyName, Binding = new Binding(e.PropertyName) { StringFormat = "dd/MM/yy" } };
}
}
謝謝!數據現在正確顯示。 – Lift
做一個轉換器,像
public class DateValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var dateTime = (DateTime?)value;
if (dateTime.HasValue)
{
return dateTime.Value.ToString("dd.MM.yyyy");
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
,並在DataGrid
結合您展示最新調用轉換器。 和XAML看起來像:
<Window.Resources>
<!--Converters-->
<converters:DateValueConverter x:Key=dateValueConverter />
</Window.Resources>
<DataGrid x:Name="customDataGridName"
RowDetailsVisibilityMode="VisibleWhenSelected"
ItemsSource="{Binding SomeItems}"
CanUserAddRows="False"
EnableRowVirtualization="True"
AutoGenerateColumns="False"
<DataGrid.Columns>
<DataGridTextColumn x:Name=dateSomething
Width="Auto"
Header=Date
Binding="{Binding Date,Converter={StaticResource dateValueConverter}}" />
.
.
.
</DataGrid.Columns>
</DataGrid>
什麼類型的日期被存儲在數據庫中? – Karolis