मेरे पास डेटाग्रिड व्यू है। मैं अपने ही वस्तुओं का एक BindingList होने के लिए अपनी .DataSource प्रोप सेट: एक BindingList<IChessItem>
सशर्त डेटाग्रिड व्यू स्वरूपण
मैं तो इसके लिए कुछ कॉलम बनाया ..
DataGridViewTextBoxColumn descColumn = new DataGridViewTextBoxColumn();
descColumn.DataPropertyName = "Description";
descColumn.HeaderText = "Description";
descColumn.Width = 300;
DataGridViewTextBoxColumn gameIDColumn = new DataGridViewTextBoxColumn();
gameIDColumn.DataPropertyName = "GameID";
gameIDColumn.HeaderText = "Game ID";
gameIDColumn.Width = 60;
dataGrid.Columns.Add(descColumn);
dataGrid.Columns.Add(gameIDColumn);
मेरा प्रश्न है .. मैं स्तंभों में से एक रंग करने के लिए चाहते हैं मेरी बाध्यकारी सूची के दूसरे क्षेत्र में डेटा के आधार पर ग्रीन)। मैं यह कैसे कर सकता हूँ?
मैं वास्तव में इस क्षेत्र को दिखाने के लिए की जरूरत नहीं है, मैं सिर्फ यह में डेटा पर कार्रवाई करना चाहते हैं ..
मेरे मामले में, IChessItem के क्षेत्रों में से एक से पता चलता है कि क्या रिकॉर्ड नया है, और मैं इसे प्रतिबिंबित करने के लिए डेटाग्रिडव्यू में अन्य फ़ील्ड को रंगना चाहते हैं।
दिलचस्प। ऐसा लगता है कि इसे काम करना चाहिए, दुर्भाग्यवश, this.dataGridView1.Columns [e.ColumnIndex]। जब भी यह यहां आता है। " ऐसा लगता है * * काम करना चाहिए। – KevinDeus
ओकॉम .. मुझे इसे डाटाप्रोपर्टी नाम का उपयोग करके काम करने के लिए मिला (क्योंकि यह ऊपर मेरे कोड में स्थापित किया गया था), और इसे डेटाग्रिड आइटम पर वापस इंगित करता है (क्योंकि मेरे सोर्सिलिस्ट को इस बिंदु से मिटा दिया गया है ..) IChessItem item = ((बाइंडिंगलिस्ट) this.dgvAvailableMoves.DataSource) [e.RowIndex]; –
KevinDeus
कॉलम नाम की जांच करने के बजाय कॉलम पर सीधे तुलना करने के लिए एक और मजबूत दृष्टिकोण है, यानी 'if (dataGridView.Columns [e.ColumnIndex] == dataGridViewColumnXXX) ...' –