背景
我正试图在我的DGV上设置一个列作为一个组合框。我已经将所有的列添加到设计器中的网格视图中,所以剩下的就是将它们绑定到dataset。
Status列的数据类型为varchar。
问题
但是,在运行时,我一直收到一条非常无用的错误消息。我做错什么了吗?
DataGridViewComboBox值无效。
当设置dgv的数据源时,会发生上述错误。
dataGridView1.DataSource = JoblistDataSet.Tables["Joblist"];我的密码
DataGridViewComboBoxColumn Column = (DataGridViewComboBoxColumn)dataGridView1.Columns["Status"];
Column.DataPropertyName = "Status";
DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)dataGridView1.Rows[0].Cells["Status"];
cbCell.Items.Add("New");
cbCell.Items.Add("Hold");
cbCell.Items.Add("Remove");
dataGridView1.DataSource = JoblistDataSet.Tables["Joblist"];发布于 2016-01-17 17:41:30
我认为问题在于,您正在为行索引0填充DataGridViewComboBoxCell.Items,而不是DataGridViewComboBoxColumn.Items,后者适用于所有行(希望您注意到Cell vs Column)。
用这样的东西代替
var statusColumn = (DataGridViewComboBoxColumn)dataGridView1.Columns["Status"];
statusColumn.DataPropertyName = "Status";
statusColumn.Items.Add("New");
statusColumn.Items.Add("Hold");
statusColumn.Items.Add("Remove");
// ...https://stackoverflow.com/questions/34840600
复制相似问题