Я просмотрел несколько сообщений SO о том, как попытаться отсортировать даты в столбце даты по дате, а не по строке, но после всех попыток сортировка по-прежнему сортируется как строка.
Некоторые методы, которые я пробовал, заключались в установке значения из источника данных, которое поступает из XML в объект DateTime.
Я также установил для столбцов ValueType значение typeof( DateTime), но он по-прежнему сортируется как строка. Есть ли на самом деле способ сортировки по дате? Автоматически сгенерированные столбцы после привязки имеют тип DataGridViewTextBoxColumn, и я подозреваю, что именно поэтому он всегда сортируется как строки, а не по дате.
DateSet ds = new DataSet();
ds.ReadXml(myFile);
DataTable dt = ds.Tables[0].Clone();
DataRow[] drs = ds.Tables[0].Select(some query);
foreach (DataRow dr in drs)
{
string dateInputUpdate = dr["DateColumn1"].ToString()!;
if (dateInputUpdate.Length > 0)
{
DateTime parsedDateString = DateTime.Parse(dateInputUpdate , "dd-MMM-yy", new CultureInfo("en-US"));
dr["DateColumn1"] = parsedDateString;
}
}
...
...
dataGridBindingSource.DataSource = dt;
this.dateGridView1.Columns["DateColumn1"].ValueType = typeof(DateTime);
Подробнее здесь: https://stackoverflow.com/questions/782 ... datagridvi