Как фильтровать данные в datagirdviewcombobox на основе другого datagirdviewcombobox
У меня есть DataGirdView с двумя столбцами DataGridViewComboBoxColumn, первый столбец для стран, а второй-для городов. Второй столбец должен быть заполнен городами, которые фактически находятся в стране, выбранной в первом столбце.
Я попытался изменить источник данных для второго столбца, но каждый раз, когда источник данных менялся, все ячейки в столбце городов становились пустыми, за исключением привязки городов к текущей стране, которая появляется в столбце стран.
Что я уже пробовал:
public partial class Form1 : Form { DataGridViewComboBoxColumn column; DataTable dataTable1 = new DataTable("Country1"); DataTable dataTable2 = new DataTable("Country2"); public Form1() { InitializeComponent(); column = new DataGridViewComboBoxColumn(); dataTable1.Columns.Add("Code", typeof(String)); dataTable1.Columns.Add("Cities", typeof(String)); dataTable1.Rows.Add("1", "City1 of country1"); dataTable1.Rows.Add("11", "City2 of country1"); dataTable1.Rows.Add("111", "City3 of country1"); dataTable2.Columns.Add("Code", typeof(String)); dataTable2.Columns.Add("Cities", typeof(String)); dataTable2.Rows.Add("2", "City1 of country2"); dataTable2.Rows.Add("22", "City2 of country2"); dataTable2.Rows.Add("222", "City3 of country2"); dataGridView1.Columns.Add(column); column.DataSource = dataTable1; column.ValueMember = "Code"; column.DisplayMember = "Cities"; } private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if(e.ColumnIndex==0) { if(dataGridView1.CurrentCell.Value.ToString()== "Country1") { column.DataSource = dataTable1; } else if(dataGridView1.CurrentCell.Value.ToString() == "Country2") { column.DataSource = dataTable2; } } } private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e) { } }
Gerry Schmitz
Я не вижу никакого кода, связанного с вашей "проблемой"; вы хотите, чтобы кто-то написал его для вас.
B-Koronfol
Если вы можете предоставить некоторую информацию! Предоставьте его, но, если вы не можете! вы можете проигнорировать вопрос без сплетен.