Compartilhar via


Como: Excluir ou ocultar colunas no controle DataGrid do Windows Forms

Observação:

O DataGridView controle substitui e adiciona funcionalidade a DataGrid controle; no entanto, o DataGrid controle é mantida para compatibilidade com versões anteriores e para uso futuro, se você escolher. Para obter mais informações, consulte Diferenças entre Windows Forms DataGridView and DataGrid Controls.

Você pode excluir ou ocultar colunas no Windows Forms programaticamenteDataGrid controle usando as propriedades e métodos para o GridColumnStylesCollection e DataGridColumnStyle objetos (que são membros do DataGridTableStyle classe).

Ainda existem as colunas excluídas ou ocultas na fonte de dados é limite a grade e ainda podem ser acessados por meio de programação.Eles simplesmente não são visíveis no datagrid.

Observação:

Se seu aplicativo não acessará determinadas colunas de dados, e você que eles não exibidos na datagrid, em seguida, provavelmente não é necessário para incluí-los em primeiro lugar na fonte de dados.

Para excluir uma coluna de DataGrid programaticamente

  1. Na área de declarações do formulário, declara uma nova instância do DataGridTableStyle classe.

  2. conjunto o DataGridTableStyle.MappingName propriedade à tabela na fonte de dados que você deseja aplicar o estilo. O exemplo a seguir utiliza o DataGrid.DataMember propriedade, que ele pressupõe que já esteja conjunto.

  3. Adicionar o novo DataGridTableStyle objeto à coleção de estilos de tabela da datagrid.

  4. Chamar o RemoveAt método para o DataGrid's GridColumnStyles coleção, especificando o índice da coluna da coluna para excluir.

    ' 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
    
    // Declare a new DataGridTableStyle in the
    // declarations area of your form.
    DataGridTableStyle ts = new DataGridTableStyle();
    
    private void 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);
    }
    

Para ocultar uma coluna da DataGrid programaticamente

  1. Na área de declarações do formulário, declara uma nova instância do DataGridTableStyle classe.

  2. conjunto o MappingName propriedade das DataGridTableStyle a tabela na fonte de dados que você deseja aplicar o estilo. O exemplo de código a seguir usa o DataGrid.DataMember propriedade, que ele supõe que já está definido.

  3. Adicionar o novo DataGridTableStyle objeto à coleção de estilos de tabela da datagrid.

  4. Ocultar a coluna, definindo seus Width propriedade como 0, especificando o índice da coluna da coluna para ocultar.

    ' Declare a new DataGridTableStyle in the
    ' declarations area of your form.
    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
    
    // Declare a new DataGridTableStyle in the
    // declarations area of your form.
    DataGridTableStyle ts = new DataGridTableStyle();
    
    private void 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;
    }
    

Consulte também

Tarefas

Como: alterar apresentar dados em time de execução no controle do Windows Forms DataGrid

Como: Adicionar tabelas e colunas ao controle DataGrid do Windows Forms