为什么在初始加载DataGridViewComboBoxColumn时显示空值

时间:2012-10-01 08:41:59

标签: c# winforms datagridview

大家好我已经将DatagridView与DataGridViewComboBoxColumn捆绑在一起,如下所示

DataGridViewComboBoxColumn clnStatus = new DataGridViewComboBoxColumn();
clnStatus.DataPropertyName = "Status";
clnStatus.AutoComplete = true;
clnStatus.ValueMember = "absent";
clnStatus.Name = "Absent - Leave - Present";
clnStatus.DataSource = new string[] { "absent", "present", "leave" };
dataGridView1.Columns.Insert(0, clnStatus);

但这会导致我的datagridview的空值如下所示。我应该怎么做才能获得一个值

enter image description here

3 个答案:

答案 0 :(得分:0)

没有选择初始值,因为您没有单元格的Value属性的任何值,因此您需要通过循环网格来设置该值。

(row.Cells[1] as DataGridViewComboBoxCell).Value =(row.Cells[1] as DataGridViewComboBoxCell).Items[yourneededindex]

答案 1 :(得分:0)

使用以下代码行设置值:

dataGridView1.Rows["RowNumber"].Cells["ColumnNameOrNumber"].Value;

参考:how to get selectedvalue from DataGridViewComboBoxColumn?

答案 2 :(得分:0)

Value属性对表单加载没有影响。而不是使用静态ComboBox项,尝试将组合与您的数据源源绑定并设置以下属性:

comboBoxColumn.DataPropertyName = "Column_Name";

然后在每个单元格上使用.Value以确保每一行都具有预期值。