Como Adicionar Tabelas e Colunas ao Controle DataGrid dos Windows Forms

Observação

O controle DataGridView substitui e adiciona funcionalidade ao controle DataGrid, no entanto, o controle DataGrid é mantido para compatibilidade com versões anteriores e para uso futuro, se desejado. Para obter mais informações, consulte Diferenças Entre o Windows Forms DataGridView e os Controles do DataGrid.

Você pode exibir dados no controle Windows Forms DataGrid em tabelas e colunas criando objetos DataGridTableStyle e adicionando-os ao objeto GridTableStylesCollection, que é acessado por meio da propriedade TableStyles do DataGridcontrole. Cada estilo de tabela exibe o conteúdo da tabela de dados especificada na propriedade MappingName do objeto DataGridTableStyle. Por padrão, um estilo de tabela sem estilos de coluna especificados exibirá todas as colunas dentro dessa tabela de dados. Você pode restringir quais colunas da tabela aparecem adicionando objetos DataGridColumnStyle ao objeto GridColumnStylesCollection, que é acessado por meio da propriedade GridColumnStyles de cada objeto DataGridTableStyle.

Adicionar uma tabela e uma coluna a um DataGrid com programação

  1. Para exibir dados na tabela, você deve primeiro vincular o DataGrid controle a um conjunto de dados. Para obter mais informações, consulte Como associar o controle DataGrid dos Windows Forms a uma fonte de dados.

    Cuidado

    Ao especificar os estilos de coluna com programação, sempre crie os objetos DataGridColumnStyle e adicione-os ao objeto GridColumnStylesCollection objeto antes de adicionar objetos DataGridTableStyle para o objeto GridTableStylesCollection. Ao adicionar um objeto DataGridTableStyle vazio à coleção, os objetos DataGridColumnStyle são gerados automaticamente para você. Consequentemente, uma exceção será gerada se você tentar adicionar novos objetos DataGridColumnStyle com valores de MappingName duplicados ao objeto GridColumnStylesCollection.

  2. Declare um novo estilo de tabela e defina seu nome de mapeamento.

    Dim ts1 As New DataGridTableStyle()
    ts1.MappingName = "Customers"
    
    DataGridTableStyle ts1 = new DataGridTableStyle();
    ts1.MappingName = "Customers";
    
    DataGridTableStyle* ts1 = new DataGridTableStyle();
    ts1->MappingName = S"Customers";
    
  3. Declare um novo estilo de coluna e defina seu nome de mapeamento e outras propriedades.

    Dim myDataCol As New DataGridBoolColumn()
    myDataCol.HeaderText = "My New Column"
    myDataCol.MappingName = "Current"
    
    DataGridBoolColumn myDataCol = new DataGridBoolColumn();
    myDataCol.HeaderText = "My New Column";
    myDataCol.MappingName = "Current";
    
    DataGridBoolColumn^ myDataCol = gcnew DataGridBoolColumn();
    myDataCol->HeaderText = "My New Column";
    myDataCol->MappingName = "Current";
    
  4. Chame o método Adicionar do objeto GridColumnStylesCollection para adicionar a coluna ao estilo de tabela

    ts1.GridColumnStyles.Add(myDataCol)
    
    ts1.GridColumnStyles.Add(myDataCol);
    
    ts1->GridColumnStyles->Add(myDataCol);
    
  5. Chame o método Adicionar do objeto GridTableStylesCollection para adicionar o estilo de tabela para a grade de dados.

    DataGrid1.TableStyles.Add(ts1)
    
    dataGrid1.TableStyles.Add(ts1);
    
    dataGrid1->TableStyles->Add(ts1);
    

Confira também