E
Eugene
Вопрос: есть таблица, в которой одно из полей является combobox'ом.
В этой таблице есть поле TYPE_ID, кот. связано с другой таблицей по полю id.
Вторая таблица состоит из двух полей: id и name. Значения combobox'а
берутся из этой таблицы из поля name. Выбранным элементом считается тот,
для которого выполняется условие: id=TYPE_ID. Вроде все просто.
Вот так я это решил.
С#:
// заполнение таблицы
DataGridView dataGridView1 = new DataGridView();
dataGridView1.Dock = DockStyle.Fill;
DataTable dataTable = new DataTable();
oracleDataAdapter1.Fill(dataTable);
dataGridView1.DataSource = dataTable;
Controls.Add(dataGridView1);
// заполнение combobox'ов
DataGridViewComboBoxColumn comboboxColumn = new DataGridViewComboBoxColumn();
comboboxColumn.HeaderText = "Combo";
comboboxColumn.DisplayMember = "name";
comboboxColumn.ValueMember = "id";
comboboxColumn.DataPropertyName = "TYPE_ID";
DataTable table2 = new DataTable();
oracleDataAdapter2.Fill(table2);
comboboxColumn.DataSource = table2;
dataGridView1.Columns.Insert(0, comboboxColumn);
Этот код действительно у меня работает, но не совсем так как мне бы хотелось.
Не устраивает производительность. Особенно это становится заметным, когда
достаточно много элементов содержится в combobox'е. Таблица начинает на
экране построчно очень долго строится и навигация по таблица очень медленная.
Подскажите, как увеличить производительность.
В этой таблице есть поле TYPE_ID, кот. связано с другой таблицей по полю id.
Вторая таблица состоит из двух полей: id и name. Значения combobox'а
берутся из этой таблицы из поля name. Выбранным элементом считается тот,
для которого выполняется условие: id=TYPE_ID. Вроде все просто.
Вот так я это решил.
С#:
// заполнение таблицы
DataGridView dataGridView1 = new DataGridView();
dataGridView1.Dock = DockStyle.Fill;
DataTable dataTable = new DataTable();
oracleDataAdapter1.Fill(dataTable);
dataGridView1.DataSource = dataTable;
Controls.Add(dataGridView1);
// заполнение combobox'ов
DataGridViewComboBoxColumn comboboxColumn = new DataGridViewComboBoxColumn();
comboboxColumn.HeaderText = "Combo";
comboboxColumn.DisplayMember = "name";
comboboxColumn.ValueMember = "id";
comboboxColumn.DataPropertyName = "TYPE_ID";
DataTable table2 = new DataTable();
oracleDataAdapter2.Fill(table2);
comboboxColumn.DataSource = table2;
dataGridView1.Columns.Insert(0, comboboxColumn);
Этот код действительно у меня работает, но не совсем так как мне бы хотелось.
Не устраивает производительность. Особенно это становится заметным, когда
достаточно много элементов содержится в combobox'е. Таблица начинает на
экране построчно очень долго строится и навигация по таблица очень медленная.
Подскажите, как увеличить производительность.