Quantcast
Channel: Windows Forms Data Controls and Databinding forum
Viewing all articles
Browse latest Browse all 2535

back color of ComboBox in DataGridView will change to black when selectedindex change event will finish

$
0
0

hi

back color of ComboBox in DataGridView will change to black when selectedindex change event will finish and focus on next cell


my code:

private void _dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            if (_dgv.CurrentRow != null)
            {
                ComboBox col1Combo = e.Control as ComboBox;
                if (col1Combo != null)
                {
                    if (_dgv.CurrentCell.ColumnIndex == 1)
                    {
                        col1Combo.SelectedIndexChanged += col1Combo_SelectedIndexChanged;
                    }
                }
            }
        }
        private void col1Combo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_dgv.CurrentCell.ColumnIndex == 1)
            {
                DataGridViewComboBoxCell Column_ModemList = (DataGridViewComboBoxCell)this._dgv.CurrentRow.Cells[2];
                Column_ModemList.Items.Clear();

                

                _dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);

                ((ComboBox)sender).BackColor = Color.white;
                if (_dgv.CurrentCell.EditedFormattedValue.ToString() == "aa")
                {
                    Column_ModemList.Items.Add("bb");
                    Column_ModemList.Items.Add("cc");
                }
                else if (_dgv.CurrentCell.EditedFormattedValue.ToString() == "hh")
                {
                    Column_ModemList.Items.Add("ss");
                }
                else if (_dgv.CurrentCell.EditedFormattedValue.ToString() == "fff")
                {
                    Column_ModemList.Items.Add("rrr");
                }
                ((ComboBox)sender).BackColor = Color.white;
                _dgv.CurrentCell.Style.BackColor = System.Drawing.Color.white;
            }
        }

        private void _dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (_dgv.IsCurrentCellDirty)
            {
                _dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
        }

        private void _dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                _dgv.CurrentCell.Style.BackColor = System.Drawing.Color.white;
            }
        }









Viewing all articles
Browse latest Browse all 2535

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>