Partilhar 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 controles DataGridView e DataGrid do Windows Forms.

Você pode exibir dados no controlo DataGrid do Windows Forms em tabelas e colunas criando objetos de DataGridTableStyle e adicionando-os ao objeto GridTableStylesCollection, que é acessado através da propriedade DataGrid TableStyles do controlo . Cada estilo de tabela exibe o conteúdo de qualquer tabela de dados especificada na propriedade MappingName do DataGridTableStyle objeto. 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 ao adicionar objetos DataGridColumnStyle ao objeto GridColumnStylesCollection, que é acessado através da propriedade GridColumnStyles de cada objeto DataGridTableStyle.

Para adicionar uma tabela e coluna a um DataGrid programaticamente

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

    Atenção

    ** Ao especificar estilos de coluna de forma programática, crie sempre objetos DataGridColumnStyle e adicione-os ao objeto GridColumnStylesCollection antes de adicionar objetos DataGridTableStyle ao objeto GridTableStylesCollection. Quando se adiciona um objeto vazio DataGridTableStyle à coleção, são gerados automaticamente objetos DataGridColumnStyle. Consequentemente, será lançada uma exceção se se tentar adicionar novos objetos DataGridColumnStyle com valores 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 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 aplicar o estilo de tabela à grelha de dados.

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

Ver também