
Поэтому пользователи попросили меня добавить раскрывающиеся списки в уже существующий DataGridView, который заполняет таблицу из SQL и позволяет пользователям редактировать информацию, которая обновляет SQL. Я добавил раскрывающиеся списки, используя DataGridViewComboBoxColumn. Я хотел бы предварительно заполнить их из SQL, я много раз гуглил и ничего не нашел. Надеюсь, кто-нибудь сможет мне в этом помочь.
Мне это нужно, чтобы заполнить определенные значения на основе идентификатора этой записи.
Код: Выделить всё
DataGridViewComboBoxColumn comboBoxColumn1 = new DataGridViewComboBoxColumn();
DataGridViewComboBoxColumn comboBoxColumn2 = new DataGridViewComboBoxColumn();
Код: Выделить всё
if(tabControl1.SelectedTab.ToString() == tabPage2.ToString()) {
//MessageBox.Show("Selected Tab2: " + tabPage2);
// Check if the column is already added to avoid duplication
if(!dataGridView1.Columns.Contains("comboBoxColumn1")) {
//*
//DataGridViewComboBoxColumn comboBoxColumn1 = new DataGridViewComboBoxColumn();
comboBoxColumn1.HeaderText = "Direction";
comboBoxColumn1.Name = "comboBoxColumn1";
comboBoxColumn1.Items.AddRange("Inbound","Outbound");
//dataGridView1.Columns.Add(comboBoxColumn1);
dataGridView1.Columns.RemoveAt(2);
dataGridView1.Columns.Insert(1,comboBoxColumn1);
dataGridView1.Columns[1].Width = 150;
//*/
}
if(!dataGridView1.Columns.Contains("comboBoxColumn2")) {
//*
//DataGridViewComboBoxColumn comboBoxColumn2 = new DataGridViewComboBoxColumn();
comboBoxColumn2.HeaderText = "Folder";
comboBoxColumn2.Name = "comboBoxColumn2";
comboBoxColumn2.Items.AddRange("DST_CM-RRE","DST_DST-CM","DST_DST-USPS","DST_Exceptions","DST_Inbound","DST_RTS","NCT_CM-RRE","NCT_Exceptions","NCT_Inbound","NCT_NCT-CM","NCT_NCT-USPS","NCT_RTS");
//dataGridView1.Columns.Add(comboBoxColumn2);
dataGridView1.Columns.RemoveAt(3);
dataGridView1.Columns.Insert(2,comboBoxColumn2);
dataGridView1.Columns[2].Width = 150;
//*/
}
} else if(tabControl1.SelectedTab.ToString() == tabPage1.ToString()) {
//MessageBox.Show("Selected Tab1: " + tabPage1);
// Optionally, you can remove the column when the tab is not selected
if(dataGridView1.Columns.Contains("comboBoxColumn1")) {
dataGridView1.Columns.Remove("comboBoxColumn1");
}
if(dataGridView1.Columns.Contains("comboBoxColumn2")) {
dataGridView1.Columns.Remove("comboBoxColumn2");
}
} else {
MessageBox.Show("No Selected Tab");
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-c-sharp
Мобильная версия