Путаница в комбинированном окне DataGridView - PullRequest
0 голосов
/ 26 декабря 2010

В настоящее время я использую DataGridView с тремя ячейками, и первая ячейка является DataGridViewComboBoxColumn объектом, и я хочу убедиться, что каждый раз, когда я выбираю любой новый элемент в DataGridViewComboBoxColumn объекта, другие ячейкиdataGridview становится пустым.Неважно, если я снова выберу тот же предмет.

Может кто-нибудь сказать, как мне убедиться, что я выбрал новый элемент в DataGridViewComboBoxColumn объекте?Какое свойство или метод я должен использовать для этого подхода?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2010

Вы можете ссылаться на следующий код, который делает то же самое.

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            ComboBox combo = e.Control as ComboBox;
            if (combo != null)
            {
                combo.SelectionChangeCommitted += new EventHandler(combo_SelectionChangeCommitted);
            }
        }

        void combo_SelectionChangeCommitted(object sender, EventArgs e)
        {
            DataGridViewComboBoxEditingControl combo = sender as DataGridViewComboBoxEditingControl;
            if (combo != null)
            {
                for (int columnIndex = 0; columnIndex < dataGridView1.ColumnCount; columnIndex++)
                {
                    if (columnIndex != combo.EditingControlDataGridView.CurrentCell.ColumnIndex)
                    {
                        dataGridView1[columnIndex, combo.EditingControlRowIndex].Value = null;
                    }
                }
            }
        }
0 голосов
/ 27 декабря 2010

Вы можете объявить глобальный List<int> gridComboSelections, и когда вы привязываете свой DataSource к своей сетке, вы можете заполнить этот список SelectedValues ​​в выпадающих списках.Когда любое из значений в выпадающем списке изменяется, найдите положение выпадающего списка и проверьте, совпадает ли оно с gridComboSelections[i].Если это та же самая операция конца, если не делать то, что вы хотите с ним.Если значение изменилось, не забудьте изменить соответствующее значение в своем списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...