如何在DataGridView中禁止自动生成的列?

时间:2011-01-25 14:19:15

标签: c# .net winforms datagridview datatable

当我将源(DataTable)分配给DataGridView时,它会自动为数据表中的每个数据列生成列。但我只想要手动定义的列。 如何禁止创建这些列?

4 个答案:

答案 0 :(得分:4)

您需要打开列编辑器并取消选中自动生成字段框。它朝向对话框的左下角。 Columns

如果您是从代码创建gridview,那么有一个属性:

DataGridView.AutoGenerateColumns = false;

答案 1 :(得分:3)

DataGridView1.AutoGenerateColumns = false;

答案 2 :(得分:1)

<DataGrid Grid.Row="0" Name="myGrid" ItemsSource="{Binding Path=...}" AutoGenerateColumns="False">
<DataGrid.Columns>
     <DataGridTextColumn Header="Something" Binding="{...}" />
    .
    .
    .
</DataGrid.Columns>
</DataGrid

答案 3 :(得分:1)

在VS2008中没有用于禁用自动生成列的CheckBox,尽管InitializeComponent()中生成的代码具有AutoGenerateColumns = false,但它仍会生成不需要的列!

我如何解决这个问题是通过编辑.resx文件(从IDE查看代码)并完全删除UserAddedColumn条目。即删除这些条目:

<metadata name="Column1.UserAddedColumn" type=...>
  <value>True</value>
</metadata>