简体   繁体   中英

Populate datagridview combobox

I have the following code on my windows form load:

    private void Panou_Load(object sender, EventArgs e)
    {

        List<string>[] list;

        //list in a array with all elements from a select query
        list = Conexiune.Select();


        dataGridView1.Rows.Clear();

        for (int i = 0; i < list[0].Count; i++)
        {
            int number = dataGridView1.Rows.Add();
            dataGridView1.Rows[number].Cells[0].Value = list[0][i];
            dataGridView1.Rows[number].Cells[1].Value = list[1][i];
            dataGridView1.Rows[number].Cells[2].Value = list[2][i];

            dataGridView1.Rows[number].Cells[4].Value = list[4][i];
            dataGridView1.Rows[number].Cells[5].Value = list[5][i];
            dataGridView1.Rows[number].Cells[6].Value = list[6][i];
        }
    }

On my datagridview the 4th cell is a combobox. How can I populate the combobox with the value from my select (list[3][i] variable)?

UPDATE 1:

    private void Panou_Load(object sender, EventArgs e)
    {

        List<string>[] list;

        list = Conexiune.Select();
        dataGridView1.Rows.Clear();


        for (int i = 0; i < list[0].Count; i++)
        {
            int number = dataGridView1.Rows.Add();
            dataGridView1.Rows[number].Cells[0].Value = list[0][i];
            dataGridView1.Rows[number].Cells[1].Value = list[1][i];
            dataGridView1.Rows[number].Cells[2].Value = list[2][i];
            (dataGridView1.Columns[3] as DataGridViewComboBoxColumn).DataSource = new List<string> { list[3][i] };
            dataGridView1.Rows[number].Cells[4].Value = list[4][i];
            dataGridView1.Rows[number].Cells[5].Value = list[5][i];
            dataGridView1.Rows[number].Cells[6].Value = list[6][i];
        }
    }

http://i.stack.imgur.com/0WLDr.jpg

UPDATE 2:

    private void Panou_Load(object sender, EventArgs e)
    {

        List<string>[] list;

        list = Conexiune.Select();
        dataGridView1.Rows.Clear();

        (dataGridView1.Columns[3] as DataGridViewComboBoxColumn).DataSource = new List<string> { "", "activ", "inactiv", "neverificat" };

        for (int i = 0; i < list[0].Count; i++)
        {
            int number = dataGridView1.Rows.Add();
            dataGridView1.Rows[number].Cells[0].Value = list[0][i];
            dataGridView1.Rows[number].Cells[1].Value = list[1][i];
            dataGridView1.Rows[number].Cells[2].Value = list[2][i];
            dataGridView1.Rows[number].Cells[3].Value = list[3][i];
            dataGridView1.Rows[number].Cells[4].Value = list[4][i];
            dataGridView1.Rows[number].Cells[5].Value = list[5][i];
            dataGridView1.Rows[number].Cells[6].Value = list[6][i];
        }
    }

http://i.stack.imgur.com/MlnER.jpg

Set a DataSource for the comboBox column

(dataGridView1.Columns[0] as DataGridViewComboBoxColumn).DataSource 
 = new List<string> { "Apples", "Oranges", "Grapes"};    

     for (int i = 0; i < list[0].Count; i++)
    {
        int number = dataGridView1.Rows.Add();
        dataGridView1.Rows[number].Cells[0].Value = list[3][i]; //list[3][1]=="Apples"
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM