gpt4 book ai didi

c# - 我可以使用 DataGridViewComboBoxColumn 来显示类对象列表吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:10 25 4
gpt4 key购买 nike

我正在尝试使用类对象列表填充 DataGridViewComboBoxColumn(使用 ToString 重载)。对于常规组合框,此方法对我来说非常有效。但是,一旦我将 DataGridViewComboBoxColumn 加载到 dataGridView 中,每次我从数据网格中单击时都会引发错误。

这里是错误。

The Following Exception Occurred in the DataGridView:
System.ArgumentException: DataGridViewComboBoxCell value is not valid.
To replace this default dialog please handle the DataError event.

这是在错误对话框之前执行的代码:

DataTable dt = new DataTable();

List<mclass> MObjects = new List<mclass>();

DataGridViewComboBoxColumn objcolumn = new DataGridViewComboBoxColumn();

objcolumn.DataSource = MObjects;

objcolumn.ValueType = typeof(mclass);

dataGridView1.DataSource = dt;

dataGridView1.Columns.Add(objcolumn);

现在在错误消息之间,列工作正常。我可以完美地从列表中选择对象。我如何让这个错误消失并让我的工作组合列平静下来?我错过了什么吗?或者我是否需要找到一种方法来删除该错误消息?

经过一些研究,我尝试在这一行中添加:

dt.Columns.Add("OBJList", typeof(mclass));

然而,这会产生相同的异常,但要长得多(我省略了大部分,可应要求提供):

The following exception occurred in the DataGridView:
System.FormatException: Invalid cast from 'System.String' to 'Namespace.mobject'. --->
System.InvalidCastException: Invalid cast from 'System.String' to 'Namespace.mobject'.

最佳答案

我相信您的 ValueType 必须是 stringtypeof 部分应该是提取值的方法,可能在您的 ToString() 中。

关于c# - 我可以使用 DataGridViewComboBoxColumn 来显示类对象列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16279721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com