为数据绑定DataGridViewComboBoxColumn添加额外的值

时间:2016-01-15 18:55:12

标签: c# datagridview combobox

背景

我有一个绑定到数据集的datagridview。该数据集存储来自使用SqlCommandBuilder获取的sql db的数据。更新数据集时,数据集也会更新。

这很好用。

但是我希望其中一个列包含一个组合框。 为此,我添加了一个DataGridViewComboBoxColumn并隐藏了原始列。然后,我尝试在组合框中添加额外的项目,然后绑定数据集。

我的代码

 dataGridView1.DataSource = JoblistDataSet.Tables["Joblist"]; //bind ds to dgv
            dataGridView1.Columns["Status"].Visible = false; //hide original column


            DataGridViewComboBoxColumn Status = new DataGridViewComboBoxColumn();

            //setup combobox
            Status.Items.Insert(0, "Select Status");//add extra items
            Status.DataSource = JoblistDataSet.Tables["Joblist"];//add original item from ds
            Status.HeaderText = @"Status   ";
            Status.DisplayMember = "Status";
            Status.DropDownWidth = 78;
            Status.DataPropertyName = "Status";
            Status.DisplayIndex = 7;

            //add combobox
            dataGridView1.Columns.Add(Status);

            dataGridView1.Refresh();

我想要实现的目标

我想在其中一个datagridview列上使用一个组合框。在该组合框中,第一项应包含(并显示)行的实际值,其他项应包含其他可用项。

问题

但是,这似乎不起作用。我得到的只是实际行的实际值。我是否采取了错误的方式。有更好的方法吗?

0 个答案:

没有答案