Compartilhar via


Como adicionar tabelas e colunas ao controle DataGrid do 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 uso futuro, se você escolher. Para obter mais informações, consulte Diferenças entre os Windows Forms DataGridView e DataGrid Controls.

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 DataGrid propriedade TableStyles do controle. Cada estilo de tabela exibe o conteúdo de qualquer tabela de dados especificada na propriedade MappingName do objeto DataGridTableStyle. Por padrão, um estilo de tabela sem estilos de coluna especificado 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 .

Para adicionar uma tabela e uma coluna a um DataGrid programaticamente

  1. Para exibir dados na tabela, primeiro você deve associar o controle DataGrid 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 estilos de coluna programaticamente, sempre crie objetos DataGridColumnStyle e adicione-os ao objeto GridColumnStylesCollection antes de adicionar objetos DataGridTableStyle ao objeto GridTableStylesCollection . Quando você adiciona 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 MapName 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. Defina um novo estilo para a coluna e configure 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. Chamar o método Add 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 Add do objeto GridTableStylesCollection para adicionar o estilo de tabela à grade de dados.

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

Consulte também