【发布时间】:2018-12-05 16:50:17
【问题描述】:
我正在尝试使用字符串列表填充 DataGridViewComboBoxColumn,然后根据它们在表单加载时的值选择其中一个。
人们会想到一个简单的任务,但我就是做错了。
我正在用这样的字符串填充 DataGridViewComboBoxColumn 没有问题:
ComboBoxColumn.Items.AddRange("Mr.", "Ms.", "Mrs.", "Dr.");
我似乎也可以毫无问题地将其添加到 DataGridView(这是不正确的,请参阅编辑):
ExampleDataGrid.Rows.Add("", ComboBoxColumn, 1000, "");
现在我想设置“先生”。负载时选择。其他帖子建议我应该能够简单地使用:
ExampleDataGrid.Rows[i].Cells["ExampleColumnName"].Value = "Mr.";
但是每当我使用它时,我都会收到一个错误,告诉我该值无效。 有什么我想念的吗?
但是,我可以使用它来毫无问题地获得设定值:
string Title = ExampleDataGrid.Rows[i].Cells["ExampleColumnName"].Value;
我查看了文档,但似乎没有提到如何在这种情况下实际使用 .Value。 Microsoft Docs
任何关于我哪里出错的想法都会很棒。
编辑:
我遇到的问题是由于我在 “ExampleDataGrid.Rows.Add()”。这实际上应该包含您要设置的值。例如
ExampleDataGrid.Rows.Add("", "Mr.", 1000, "");
【问题讨论】:
-
Mr.在组合框项目的末尾有一个.。Mr不存在于项目中,因此将其设置为组合框单元格的值将引发异常。 -
好地方,遗憾的是这并不能解决问题。我收到相同的错误消息 Exception = {"DataGridViewComboBoxCell value is not valid."}
-
您在调试器中查看了吗?
ExampleDataGrid.Rows[i].Cells["ExampleColumnName"]中的对象是什么类型 -
Cells["ExampleColumnName"] 是 DataGridViewCellsCollection,但 .Value 在运行时显示为 DataGridViewComboBoxColumn。
标签: c# winforms datagridview datagridviewcomboboxcolumn