具有相同内容的两个DataGridView。我可以使用相同的列名吗?

时间:2020-03-19 19:06:38

标签: c# winforms datagridview

我在同一表单的2个选项卡上使用2个DataGridView,它们包含相同的信息,但是以2种不同的方式使用。相信我,在这种情况下这很有意义。 :)

当我创建DataGridViews时,C#似乎在告诉我,即使它们在不同的表中,我也需要给提供唯一的名称。

有没有解决的办法?从逻辑的角度看,这似乎从逻辑上讲是完全没有必要的,如果我必须有两个函数来填充两个具有相同值的表,那么这将使代码混乱。如果我可以使用相同的函数,然后仅将目标DataGridView作为参数传递,那就太好了。我希望我只是缺少明显的东西。

有什么建议...还是合乎逻辑的解释?

2 个答案:

答案 0 :(得分:2)

如果使用设计器创建列,则它们的名称应与其他任何组件一样唯一。

原因是因为设计器会根据列的名称为列生成成员字段,并且不能有两个具有相同名称的字段。

如果您不使用设计器来创建列,而只是使用代码或通过将AutoGenerateColumns设置为true来创建列,则没有限制,因为列将被添加到{ {1}},但不使用表单字段。

仅供参考,除了按名称查找列之外,您还可以按DataGridView查找列。

答案 1 :(得分:1)

不,你不能。因为表单中的每个工具都有一个唯一的ID名称来调用它。所以每个“ dataGridView”和每个列都具有唯一的ID。

尝试使用一个或两个“ groupBox”或“ panel”。将每个“ dataGridView”分别放在其块中。