Gridview组合框列以编程方式隐藏项目

时间:2016-10-06 08:50:16

标签: c# gridview combobox

我正在尝试在Datagridview Combobox控件中以编程方式更改项目集合。我在Combobox中有3个项目,我从数据库中获取数据;

[第1项]

[第2项]

[第3项]

我想做的是;

如果组合框值是[项目1]默认,我只能选择[项目2]。我不想看到列表中的[项目3]。

任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

  

为什么要以编程方式更改项目集合?   如果你只需要第1项和第2项,那么从数据库中获取数据并写入'where'条件!= item3。你将获得第1项和第2项的数据。

答案 1 :(得分:0)

我通过使用datagrid的CellBeginEdit事件解决并使用了cell.datasource,

private void dGV_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
    {
        DataGridViewRow row = dGV.Rows[e.RowIndex];

          if (item_type.ToString() == "item1")
            {
                try
                {
                     DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)(row.Cells[3]);
                     cell.DataSource = new string[] { "Item1","Item2"};
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    }