Datagrid视图的问题

时间:2010-12-12 20:04:43

标签: c# winforms visual-studio-2010 datagridview combobox

我正在使用datagrid视图,我想添加datagridviewcomboboxcolumn

项目被添加,显示成员也显示如果我调试并在手表中看到它们但问题是当表单显示datagrid视图包含所有其他列以及此组合框但它是空的。为什么

            DataGridViewComboBoxColumn cbol = new DataGridViewComboBoxColumn();
            cbol.HeaderText = "Actions";
            cbol.Items.Add("Print Job Card");
            cbol.Items.Add("Print Invoice");
            cbol.Items.Add("Close Job Card");
            cbol.DisplayMember = cbol.Items[0].ToString();     
            cbol.Name = "bcolumn";            
            createCol = false;
            DataGridView1.Columns.Add(cbol);

3 个答案:

答案 0 :(得分:0)

您不应设置DisplayMember,因为您没有绑定组合框。

答案 1 :(得分:0)

我试了一下,我创建了一个新的Winform应用程序,我在我的表单上拖放DataGridView,在Form1()方法中,我粘贴了你的代码(DisplayMember和createCol除外) ():

        DataGridViewComboBoxColumn cbol = new DataGridViewComboBoxColumn();
        cbol.HeaderText = "Actions";
        cbol.Items.Add("Print Job Card");
        cbol.Items.Add("Print Invoice");
        cbol.Items.Add("Close Job Card");
        cbol.Name = "bcolumn";
        dataGridView1.Columns.Add(cbol);

效果很好。

所以我的第一个问题是:你在哪里使用你的代码?

第二个问题,如果第一个问题没有帮助你:你看,在我的代码中,dataGridView1不是蓝色,因为它是DataGridView的一个实例。在你的,它是大写的,它是蓝色的。也许那里有东西?

答案 2 :(得分:0)

问题是我已经设置了datagrid视图的ReadOnly属性,这就是为什么它不允许在真正的组合框中做任何改变都不是空的