Заполните DataTable, имея один столбец как значение DateTime, и привяжите его к DataGridView.

У меня есть данные из файла excel, который содержит один столбец как DateTime с определенным форматом. Теперь я извлек данные из файла с помощью адаптера данных и заполнил таблицу данных.

Как я могу изменить формат столбца DateTime на конкретную культуру перед привязкой данных к datagridview?


person Hassan    schedule 13.10.2011    source источник
comment
Что вы имеете в виду под форматированием в конкретной культуре?   -  person Sam Casil    schedule 13.10.2011
comment
Форматирование даты и времени в определенный язык и региональные параметры, предоставляемые пространством имен System.Globalization. Например: dateExcel.ToString(new System.Globalization.CultureInfo(en-GB));   -  person Hassan    schedule 13.10.2011


Ответы (1)


Вы можете использовать свойство DefaultCellStyle столбца DateTime вашего DataGridView для форматирования и отображения значений DateTime в формате, специфичном для культуры. Вот небольшой пример:

DataTable dt = new DataTable();
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("dayofbirth", typeof(DateTime));

// Fill your data table
...

// Bind your data table against the grid view.    
dataGridView1.DataSource = dt;

// Set format styles for your date columns (after binding)
CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");
dataGridView1.Columns[1].DefaultCellStyle.FormatProvider = ci;
dataGridView1.Columns[1].DefaultCellStyle.Format = ci.DateTimeFormat.LongDatePattern;

Надеюсь это поможет.

person Hans    schedule 13.10.2011
comment
Это именно то, что мне требовалось. Спасибо, Ганс. - person Hassan; 14.10.2011