У меня есть DataGridView, который автоматически генерирует столбцы из источника данных (запрос SQL).
Одним из этих полей является поле DATE (специально преобразованное в DATE в запросе SQL).
Однако DataGridView по-прежнему показывает его с частью TIME, равной 00:00:00, несмотря на то, что для DefaultCellStyle.Format задано значение "dd / MM / yyyy", а для ValueType - typeof (System.DateTime);
Код:
dgvCharges.AutoGenerateColumns = true;
dgvCharges.DataSource = devChargesSchema.Tables["Charges"].DefaultView;
dgvCharges.AutoGenerateColumns = false;
dgvCharges.Columns["dNextChargeDate"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgvCharges.Columns["dNextChargeDate"].HeaderText = "Next Charge Date";
dgvCharges.Columns["dNextChargeDate"].DefaultCellStyle.Format = "dd/MM/yyyy";
dgvCharges.Columns["dNextChargeDate"].ValueType = typeof(System.DateTime);
Я искал эту проблему, и все ответы говорят о том, чтобы сделать то, что у меня уже есть.
Я пытался: -
С и без ValueType
Установка формата "dd-MM-гггг", "гггг / мм / дд" и "гггг-мм-дд"
с помощьюValueType до и после DefaultCellStyle
Удаление dgvCharges.AutoGenerateColumns = false;
Удаление .DefaultView;из строки набора DataSource
Все вышеперечисленные комбинации
Независимо от того, что я пытаюсь, столбец всегда отображается как dd-MM-гггг 00: 00: 00
Время всегда там, разделитель всегда дефис, а не косая черта, и порядок всегда дд ММ гггг, даже если я скажу, что это гггг ММ дд