Delete DataGrid Control Columns in VB.NET

In this article you will learn how to Delete Columns in the Windows Forms DataGrid Control.
  • 2249
Deleting Columns in the Windows Forms DataGrid Control
 
You can programmatically delete or hide columns in the Windows Forms DataGrid control by using the properties and methods of the GridColumnStylesCollection and DataGridColumnStyle objects (which are members of the DataGridTableStyle class).

The deleted or hidden columns still exist in the data source the grid is bound to, and can still be accessed programmatically. They are just no longer visible in the datagrid.

Note   If your application does not access certain columns of data, and you do not want them displayed in the datagrid, then it is probably not necessary to include them in the data source in the first place.

To delete a column from the DataGrid programmatically

  1. In the declarations area of your form, declare a new instance of the DataGridTableStyle class.
  2. Set the DataGridTableStyle.MappingName property to the table in your data source that you want to apply the style to. The following example uses the DataGrid.DataMember property, which it assumes is already set.
  3. Add the new DataGridTableStyle object to the datagrid's table styles collection.
  4. Call the RemoveAt method of the DataGrid's GridColumnStyles collection, specifying the column index of the column to delete.

        ' Declare a new DataGridTableStyle in the
        ' declarations area of your form.
        Dim ts As DataGridTableStyle = New DataGridTableStyle()

        Sub DeleteColumn()
            ' Set the DataGridTableStyle.MappingName property
            ' to the table in the data source to map to.
            ts.MappingName = DataGrid1.DataMember

            ' Add it to the datagrid's TableStyles collection
            DataGrid1.TableStyles.Add(ts)
     
            ' Delete the first column (index 0)
            DataGrid1.TableStyles(0).GridColumnStyles.RemoveAt(0)
        End Sub

To hide a column in the DataGrid programmatically

  1. In the declarations area of your form, declare a new instance of the DataGridTableStyle class.
  2. Set the MappingName property of the DataGridTableStyle to the table in your data source that you want to apply the style to. The following code example uses the DataGrid.DataMember property, which it assumes is already set.
  3. Add the new DataGridTableStyle object to the datagrid's table styles collection.
  4. Hide the column by setting its Width property to 0, specifying the column index of the column to hide.

        Dim ts As DataGridTableStyle = New DataGridTableStyle()

        Sub HideColumn()
            ' Set the DataGridTableStyle.MappingName property
            ' to the table in the data source to map to.
            ts.MappingName = DataGrid1.DataMember

            ' Add it to the datagrid's TableStyles collection
            DataGrid1.TableStyles.Add(ts)

            ' Hide the first column (index 0)
            DataGrid1.TableStyles(0).GridColumnStyles(0).Width = 0
        End Sub

Categories

More Articles

© 2020 DotNetHeaven. All rights reserved.