В DataGrid
У меня есть 2 столбца:
public string DayName {get; set;}
public DateTime DateTimeColumn {get; set;}
Я хочу отобразить данные, как показано ниже:
DayName | DateTimeColumn
Monday | 2018-09-03
Tuesday | 2018-09-04
Wednesday | 2019-09-05
....
Для этого у меня есть метод:
public static ObservableCollection<MyDataConcept> BuildDataConceptList(int year, int month)
{
ObservableCollection<MyDataConcept> resultList =
new ObservableCollection<MyDataConcept>();
foreach (var data in GetDates(year, month))
{
if (data.DayOfWeek.ToString() != "Saturday" && data.DayOfWeek.ToString() != "Sunday")
{
MyDataConcept kdc = new MyDataConcept(data.DayOfWeek.ToString(), data.Date);
resultList.Add(kdc);
}
}
}
У меня нет проблем, чтобы отобразить DayName = data.DayOfWeek.ToString()
, только для правильно отобразить DateTimeColumn = data.Date , как сейчас: 09/03/2018 12:00:00 AM
.
Я пытался конвертировать, как показано ниже:
DateTime time = DateTime.Parse(data.ToShortDateString());
или
var date = System.DateTime.ParseExact(data.ToShortDateString(), "yyyy-MM-dd",
CultureInfo.InvariantCulture,DateTimeStyles.None);
но это не работает.
UPDATE :
Это мой XAML:
<DataGrid ItemsSource="{Binding Path=MyConceptItems}"
IsSynchronizedWithCurrentItem="True" />