मेरे पास एक टेबल भुगतान है जिसमें पेमोनथ नामक एक पूर्ण-सक्षम पूर्णांक कॉलम है। मेरे पास निम्न श्रेणी और सूची है:सी # बाइंडिंग 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);
समस्या यहां आती है। जब डीजीवी में डेटा प्रदर्शित होता है, तो DataGridViewComboBoxColumn cmbMonth संख्या मान (1,2,3, ...) को महीने का नाम नहीं दिखाता है ('जनवरी', 'फरवरी', 'मार्च', ...)। और जब मैं डीजीवी पर क्लिक करता हूं तो यह त्रुटि प्रदर्शित करता है: स्वरूपण, प्रदर्शन और कुछ बार स्वरूपण, पसंदीदा आकार। जब मैं DataPropertyName प्रॉपर्टी को हटाता हूं, तो यह त्रुटि जाती है लेकिन डेटा प्रदर्शित नहीं होता है। हालांकि, तालिका में payMonth मान केवल सूची सीमा में हैं या शून्य है।
क्या गलत:
यह भुगतान तालिका है?
मैं अपने कोड नमूने में संदिग्ध कुछ भी नहीं देखते हैं। क्या आपके पास 'DataGridVIew' के लिए कोई स्वरूपण ईवेंट हैंडलर है? – Fabio
कोई हैंडलर, लेकिन डिफ़ॉल्ट सेल शैली –
क्या भुगतान तालिका में 'payMonth' स्तंभ के प्रकार है? क्या यह महीनों की सूची में 'Int32' है? – Fabio