admin管理员组

文章数量:1321260

So users asked me to add drop downs to a pre-existing DataGridView, which populates the table from SQL and allows users to edit the information which updates SQL. I've added the drop downs using DataGridViewComboBoxColumn. I'd like to prepopulate these from SQL and I have Googled a bunch and I can't find anything. Hoping someone can help me with this.

I need this to populate specific values based on the ID for that entry.

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");
}

Trying to populate DataGridViewComboBoxColumn from SQL

本文标签: How to dynamically populate DataGridViewComboBoxColumn from SQL using CStack Overflow