C# DataGridView中的块列

C# DataGridView中的块列,c#,datagridview,datasource,C#,Datagridview,Datasource,又是一个我似乎无法理解的问题: 我的表单上有一个datagridview。在VisualStudio设计模式中,我输入4列:引用、国家、名称和城市。 填写searchform后,我尝试刷新数据源:一个自定义类从所选表获取所有数据并填充datagridview。问题是:datagridview现在拥有表中的所有列,我只希望在设计模式中输入4列 在设计模式下,我可以将所有其他列设置为visible=false,这样就行了。但是我想要这个datagridview作为一个自定义控件。因此,我只想显示输入

又是一个我似乎无法理解的问题:

我的表单上有一个datagridview。在VisualStudio设计模式中,我输入4列:引用、国家、名称和城市。 填写searchform后,我尝试刷新数据源:一个自定义类从所选表获取所有数据并填充datagridview。问题是:datagridview现在拥有表中的所有列,我只希望在设计模式中输入4列

在设计模式下,我可以将所有其他列设置为visible=false,这样就行了。但是我想要这个datagridview作为一个自定义控件。因此,我只想显示输入的4列,而不禁用所有其他列。不可见的数据用于绑定到具有其他控件(如文本框)的面板

有人知道这是否可能,我应该如何解决这个问题


谢谢

有三种隐藏列的方法

1.-将visible属性设置为false(正如ksogor所说),并且在设计模式下不创建列。注意

GridView1.Columns["ColumnName"].Visible = false;
更具可读性和可理解性

GridView1.Columns[1].Visible = false; 
2.-将AutoGenerateColumns设置为false并在设计器中创建列

3.-在类中,在不想显示的字段中设置属性[Browsable(false)]。不要在设计模式下创建列

第三种方法将在应用程序的所有数据网格中隐藏该列。我喜欢它

[Browsable(false)]
public string Something{get;set;}

有一个属性标志AutoGenerateColumns-在设计器中将其设置为false(或在代码中执行此操作),以防止添加未指定的列?Thanx,我发现:AutoGenerateColumns隐藏在VS 2010的propertes面板中。我刚刚在自定义DataGridView类中添加了一个公共属性,它实际上是AutoGenerateColumns的快捷方式。这可能也是我自己没有找到它的原因:)NR3也是一个我还没有听说过的伟大功能。但在这种情况下并非如此。塔克斯!