我有一個表具有名爲payMonth無效整數列付款。我有以下班級和名單:C#綁定datagridviewcomboboxcolumn列表顯示,格式,首選大小錯誤
public class months
{
public int payMonth { get; set; }
public string monthName { get; set; }
}
lstMonths = new List<months> {
,new months() { payMonth = 1, monthName = "jan" }
,new months() { payMonth = 2, monthName = "feb" }
,new months() { payMonth = 3, monthName = "mar" }
,new months() { payMonth = 4, monthName = "apr" }
,new months() { payMonth = 5, monthName = "may" }
,new months() { payMonth = 6, monthName = "jun" }
,new months() { payMonth = 7, monthName = "jul" }
,new months() { payMonth = 8, monthName = "aug" }
,new months() { payMonth = 9, monthName = "sep" }
,new months() { payMonth = 10, monthName = "oct" }
,new months() { payMonth = 11, monthName = "nov" }
,new months() { payMonth = 12, monthName = "dec" }};
cmbMonth = new DataGridViewComboBoxColumn();
cmbMonth.DataSource = lstMonths;
cmbMonth.ValueMember = "payMonth";
cmbMonth.DisplayMember = "monthName";
cmbMonth.DataPropertyName = "payMonth";
cmbMonth.Name = "cmbPayMonth";
cmbMonth.HeaderText = "Month";
cmbMonth.FlatStyle = FlatStyle.Flat;
cmbMonth.Width = 80;
dgvPayments.Columns.Insert(5, cmbMonth);
問題出現在這裏。當數據顯示在dgv中時,DataGridViewComboBoxColumn cmbMonth顯示數字值(1,2,3,...)而不是月份名稱('Jan','Feb','Mar',...)。當我點擊dgv時,它顯示錯誤:格式化,顯示和一些時間格式化,preferredSize。當我刪除DataPropertyName屬性時,出現此錯誤,但不顯示數據。但是,表中的payMonth值只在列表範圍內或爲空。
這是支付表:
的哪些錯誤?
我沒有發現可疑的代碼樣本。你有'DataGridVIew'的格式化事件處理程序嗎? – Fabio
沒有處理程序,但默認的單元格樣式 –
付款表中的「payMonth」列的類型是什麼?它是'Int32'在月份列表中? – Fabio