Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 是否可以派生DataGridView列,以便它可以存储任何类型的对象?_Winforms_C# 4.0_Datagridview_Datagridviewcolumn - Fatal编程技术网

Winforms 是否可以派生DataGridView列,以便它可以存储任何类型的对象?

Winforms 是否可以派生DataGridView列,以便它可以存储任何类型的对象?,winforms,c#-4.0,datagridview,datagridviewcolumn,Winforms,C# 4.0,Datagridview,Datagridviewcolumn,我有一个DataGridView,它从文件中加载信息并存储这些信息。这些信息保存在一个类表单中以供使用,因此我认为不必从存储在DGV中的数据重构该类对象,只需将该类对象保存到列中,并在必要时从该列访问该对象就更容易了。可能吗?这与数据绑定有关吗 因此,我最终希望能够做到的是: DataGridView DGV = new DataGridView; //Initialization Stuff DGV.Rows[0].Columns["objectColumn"].value = <AN

我有一个DataGridView,它从文件中加载信息并存储这些信息。这些信息保存在一个类表单中以供使用,因此我认为不必从存储在DGV中的数据重构该类对象,只需将该类对象保存到列中,并在必要时从该列访问该对象就更容易了。可能吗?这与数据绑定有关吗

因此,我最终希望能够做到的是:

DataGridView DGV = new DataGridView;
//Initialization Stuff

DGV.Rows[0].Columns["objectColumn"].value = <ANY OBJECT OR CLASS TYPE AT ALL HERE>
DataGridView DGV=新DataGridView;
//初始化内容
DGV.Rows[0]。Columns[“objectColumn”]。值=

当然,该列将被隐藏。

DataGridViewCell.Value
的类型为
Object
,这意味着您可以在其中存储任何对象。如果您的类重写了
ToString
方法并提供了一个有意义的实现,它将显示在相应的单元格中


如果你不重写
ToString
你仍然可以使用事件来格式化你的对象。

这样我就可以,比如说,获取一个DataGridView文本框列,隐藏它,将它的值设置为我喜欢的任何值,然后在以后检索它,只要我将它转换为正确的类型?是的,没错。试一试。很好,这就是我所需要的,非常感谢你的帮助。如果这有助于把它标记为答案,如果你需要更多的帮助,请在下面留下评论。我想:P只需要等待足够的时间过去,有人提醒我。