Winform, dataGridview with a comboBox column. The column datasource is pointing to an Sql table "dateTime" field format. Each row contains a data like 01/01/2014, 01/02/2014, etc.. I am trying to format the comboBox cell in dataGridView to show only month/Year.
I tried directly in the designer with a custom format:
and with the code:
dataGridView1.Columns["Periodo"].DefaultCellStyle.Format = ("{0:M/yyyy}");
and like this
dataGridView1.Columns["Periodo"].DefaultCellStyle.Format = "M/yyyy";
and in many other ways. I cannot get it right, the comboBox keeps showing 01/01/2014 type format. How can I format such column to get "January 2014", "February 2014", etc..?
The problem is not in the format you tried (
"M/yyyy"
is fine) neither in theFormat
property not working. The problem is that what you did affects the cell contents, not the combobox contents.The best way to avoid problems with
DataGridViewComboBoxColumn
/DataGridViewComboBoxCell
is dealing with the items of the combobox, rather with the cell itself. Sample code:In this code, I am dealing with the list of dates (and, eventually, ordering it or performing any other required action); but then I create a list of (properly-formatted) strings to be the combobox source.