我在同一表单的2个选项卡上使用2个DataGridView,它们包含相同的信息,但是以2种不同的方式使用。相信我,在这种情况下这很有意义。 :)
当我创建DataGridViews时,C#似乎在告诉我,即使它们在不同的表中,我也需要给列提供唯一的名称。
有没有解决的办法?从逻辑的角度看,这似乎从逻辑上讲是完全没有必要的,如果我必须有两个函数来填充两个具有相同值的表,那么这将使代码混乱。如果我可以使用相同的函数,然后仅将目标DataGridView作为参数传递,那就太好了。我希望我只是缺少明显的东西。
有什么建议...还是合乎逻辑的解释?
答案 0 :(得分:2)
如果使用设计器创建列,则它们的名称应与其他任何组件一样唯一。
原因是因为设计器会根据列的名称为列生成成员字段,并且不能有两个具有相同名称的字段。
如果您不使用设计器来创建列,而只是使用代码或通过将AutoGenerateColumns
设置为true
来创建列,则没有限制,因为列将被添加到{ {1}},但不使用表单字段。
仅供参考,除了按名称查找列之外,您还可以按DataGridView
查找列。
答案 1 :(得分:1)
不,你不能。因为表单中的每个工具都有一个唯一的ID名称来调用它。所以每个“ dataGridView”和每个列都具有唯一的ID。
尝试使用一个或两个“ groupBox”或“ panel”。将每个“ dataGridView”分别放在其块中。