DataGridViewComboBoxColumn में सेल की कॉम्बोबॉक्स स्टाइल ड्रॉपडाउनलिस्ट में सेल की कॉम्बोबॉक्स शैली को कैसे बदलें। इसका मतलब है कि उपयोगकर्ता केवल ड्रॉपडाउन से मूल्यों का चयन कर सकता है। अंतर्निहित नियंत्रण कॉम्बोबॉक्स है, इसलिए इसमें स्टाइल ड्रॉपडाउन हो सकता है। मैं DataGridViewComboBoxColumn में अंतर्निहित कॉम्बो बॉक्स की शैली कैसे बदलूं। या, अधिक सामान्य, क्या मेरे पास डेटाग्रिड व्यू में ड्रॉपडाउन के साथ एक कॉलम हो सकता है जहां उपयोगकर्ता टाइप कर सकता है?DataGridViewComboBoxColumn
उत्तर
void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
DataGridViewComboBoxEditingControl cbo =
e.Control as DataGridViewComboBoxEditingControl;
cbo.DropDownStyle = ComboBoxStyle.DropDown;
}
}
समाधान के बाद काम करता है मुझे
private void dataGridView1_CellValidating(object sender,
DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == Column1.Index)
{
// Add the value to column's Items to pass validation
if (!Column1.Items.Contains(e.FormattedValue.ToString()))
{
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value =
e.FormattedValue;
}
}
}
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == Column1.Index)
{
ComboBox cb = (ComboBox)e.Control;
if (cb != null)
{
cb.Items.Clear();
// Customize content of the dropdown list
cb.Items.AddRange(appropriateCollectionOfStrings);
cb.DropDownStyle = ComboBoxStyle.DropDown;
}
}
}
दिया अगर हालत हमेशा पता चला है मेरी databounded बता गया में सच हो करने के लिए ... वहाँ एक काम के आसपास है ... किसी स्थिति: ================= ================================================== अगर (! कॉलम 1। इटम्स। कॉन्टैन्स (ई। फॉरमेटेड वैल्यू। टॉस्ट्रिंग())) { कॉलम 1। इटम्स। जोड़ें (ई। फॉरमेटेड वैल्यू); डेटाग्रिड व्यू 1। पंक्तियां [ई। रोइंडेक्स] .ल्स [ई। कॉलम इंडेक्स]। वैल्यू = ई। फॉर्मेटेड वैल्यू; } –
if (!Column1.Items.Contains(e.FormattedValue.ToString())) {
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue;
}
हमेशा सच वापस आ सकते हैं के लिए, क्योंकि Column1.Items.Contains()
String
मूल्यों के लिए खोज रहा है। यदि e.FormattedValue
String
नहीं है तो तुलना विफल हो जाएगी।
if (!Column1.Items.Contains(e.FormattedValue.ToString())) {
Column1.Items.Add(e.FormattedValue.ToString());
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue.ToString();
}
या
if (!Column1.Items.Contains(e.FormattedValue)) {
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue;
}
- 1. DataGridViewComboBoxColumn डेटासोर्स?
- 2. सेट एक DataGridViewComboboxColumn
- 3. DataGridViewComboBoxColumn को कैसे हटाएं बाईं ओर ड्रॉपडाउन का विस्तार करें?
- 4. DataGridViewComboBoxColumn प्रत्येक पंक्ति में अलग-अलग आइटम जोड़ रहा है।
- 5. मैं विजुअल स्टूडियो प्रॉपर्टी विंडो जैसे DataGridViewComboBoxColumn के ड्रॉप-डाउन तीर को कैसे छुपा सकता हूं?
- 6. Winform में DataGridViewComboBoxCell मान के लिए सेट डिफ़ॉल्ट मान कैसे दिखाएं?
- 7. मैं प्रत्येक सेल में एक अलग डेटा स्रोत के साथ DataGridView ComboBoxColumn कैसे स्थापित करूं?
- 8. विंडोज फॉर्म्स DataGridView नियंत्रण उसी स्तंभ
- 9. DataGridViewTextBoxCell और DataGridViewComboBoxCell के बीच कैसे स्विच करें?
- 10. त्रुटि: "DataGridViewComboBoxCell मान मान्य नहीं है।" \t डेटासोर्स मूल प्रकार
- 11. combobox
- 12. मेरे टेबल एडाप्टर के अपडेट और हटाए गए आदेशों के साथ क्या हुआ?
यह समाधान का केवल विचार है की कोशिश करो। पूर्ण समाधान के लिए सत्यापन दिनचर्या की आवश्यकता होती है, अन्यथा DataGridView अपवाद फेंक देगा। उपयोगी समाधान को अक्सर ड्रॉपडाउन में सेल विशिष्ट सूची की आवश्यकता होती है। – chgman