刚才我遇到了这个奇怪的问题,我想知道VS2012中是否有一些东西要解决它。我正在使用MDI Windows Forms,我有这个dataGridView
,我从数据库中检索数据,然后使用数据库中的数据设置网格的dataSource
属性。但即使我使用一个旧项目作为这个项目的支架,现在我按照VS2012中的设计得到dataGridView
,然后在它旁边我从数据库中获取数据,好像它是我的{{1}的一部分除了标题列之外的设计都带有数据库中列的名称。
然而,我做了一点reearch并发现实际上通过将dataGridView
属性设置为false可以轻松解决此问题。我找不到的是VS2012设计师的这个属性。现在我正在使用它:
AutoGenerateColumns
在 dgvClients.AutoGenerateColumns = false;
dgvClients.DataSource = mainGridInfoList;
事件中,但我更愿意使用设计器(如果可能的话),并从我的代码中删除此行 - load
。问题是,我无法看到具有dgvClients.AutoGenerateColumns = false;
的确切名称的属性,所以我想知道 - 名称是否已更改?这有点奇怪,因为我仍然可以在我的代码中使用它,或者从IDE设计器中从来没有办法做到这一点,它必须明确地写在源代码中?
P.S
使用IDE设计器对这个特定问题的判断并不是很好(至少我是这么认为)但是这里有一个可以告诉你如何从VS2012设计器设置这个属性的打印屏幕。
答案 0 :(得分:4)
我在文档中发现了一些可能有助于解决问题的内容。
来自DataGridView.AutoGenerateColumns Property:
注意:
自动在Windows窗体设计器中设置DataSource 将AutoGenerateColumns属性设置为false并生成代码 为数据源中的每个属性添加和绑定列。代码 在设计时生成的等效于手动添加 代码如下例所示。它不一样了 在运行时自动生成列 AutoGenerateColumns属性设置为true。