Compartilhar via


Como: Formatar o controle DataGrid do Windows Forms

ObservaçãoObservação

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

A aplicação de cores diferentes para várias partes de um DataGrid controle pode ajudar a tornar as informações nele mais fácil de ler e interpretar. Cor pode ser aplicado às linhas e colunas. Linhas e colunas também podem ser ocultadas ou exibidas a seu critério.

Há três aspectos básicos de formatação de DataGrid de controle. Você pode definir propriedades para estabelecer um estilo padrão na qual os dados são exibidos. Essa base, você poderá então personalizar a maneira como certas tabelas são exibidas em tempo de execução. Finalmente, você pode modificar quais colunas são exibidas na grade de dados, bem como as cores e outras formatações que é mostrada.

Como uma etapa inicial na formatação de uma grade de dados, você pode definir as propriedades de DataGrid próprio. Essas opções de cor e formato formam a base da qual você pode fazer em seguida, muda de acordo com as tabelas de dados e as colunas exibidas.

Para estabelecer um estilo padrão para o controle DataGrid

  • Configure as seguintes propriedades conforme apropriado:

    Propriedade

    Descrição

    AlternatingBackColor

    O BackColor propriedade define a cor das linhas pares da grade. Ao definir o AlternatingBackColor para uma cor diferente, todas as outras linhas for definida para esta nova cor (linhas 1, 3, 5 e assim por diante).

    BackColor

    A cor de fundo das linhas pares da grade (linhas de 0, 2, 4, 6 e assim por diante).

    BackgroundColor

    Enquanto o BackColor e AlternatingBackColor Propriedades determina a cor das linhas na grade, o BackgroundColor propriedade determina a cor da área de nonrow, que é apenas visível quando a grade é rolada para baixo, ou se apenas algumas linhas estão contidas na grade.

    BorderStyle

    Estilo da borda da grade, dentre as BorderStyle valores de enumeração.

    CaptionBackColor

    A cor de plano de fundo da legenda da grade da janela que aparece imediatamente acima da grade.

    CaptionFont

    A fonte da legenda na parte superior da grade.

    CaptionForeColor

    A cor de plano de fundo da legenda da janela da grade.

    Font

    A fonte usada para exibir o texto na grade.

    ForeColor

    A cor da fonte exibida pelos dados nas linhas da grade de dados.

    GridLineColor

    A cor das linhas de grade da grade de dados.

    GridLineStyle

    O estilo das linhas que separam as células da grade, um do DataGridLineStyle valores de enumeração.

    HeaderBackColor

    A cor de plano de fundo dos cabeçalhos de linha e coluna.

    HeaderFont

    A fonte usada para os cabeçalhos de coluna.

    HeaderForeColor

    A cor de primeiro plano dos cabeçalhos de coluna da grade, incluindo o texto do cabeçalho de coluna e no sinal de mais/menos glifos (para expandir linhas quando várias tabelas relacionadas são exibidas).

    LinkColor

    A cor do texto de todos os links na grade de dados, incluindo links para as tabelas filho, o nome da relação e assim por diante.

    ParentRowsBackColor

    Em uma tabela filho, esta é a cor de fundo das linhas pai.

    ParentRowsForeColor

    Em uma tabela filho, esta é a cor de primeiro plano das linhas pai.

    ParentRowsLabelStyle

    Determina se os nomes de tabela e coluna são exibidos na linha pai, por meio do DataGridParentRowsLabelStyle enumeração.

    PreferredColumnWidth

    A largura padrão (em pixels) das colunas na grade. Definir essa propriedade antes de redefinir o DataSource e DataMember Propriedades (ou separadamente, ou até o SetDataBinding método), ou a propriedade não terá nenhum efeito.

    A propriedade não pode ser definida como um valor menor que 0.

    PreferredRowHeight

    A altura de linha (em pixels) das linhas da grade. Definir essa propriedade antes de redefinir o DataSource e DataMember Propriedades (ou separadamente, ou até o SetDataBinding método), ou a propriedade não terá nenhum efeito.

    A propriedade não pode ser definida como um valor menor que 0.

    RowHeaderWidth

    A largura dos cabeçalhos de linha da grade.

    SelectionBackColor

    Quando uma linha ou célula é selecionada, esta é a cor de plano de fundo.

    SelectionForeColor

    Quando uma linha ou célula é selecionada, esta é a cor de primeiro plano.

    ObservaçãoObservação

    Tenha em mente, ao personalizar as cores dos controles, que é possível fazer com que o controle inacessível devido a opção de cor baixa (por exemplo, vermelho e verde). Use as cores disponíveis na As cores do sistema paleta para evitar esse problema.

    Os procedimentos a seguir pressupõem que o formulário tem um DataGrid controle acoplado a uma tabela de dados. Para obter mais informações, consulte o controle DataGrid do Windows Forms a uma fonte de dados de ligação.

Para definir o estilo de tabela e coluna de uma tabela de dados programaticamente

  1. Criar um novo estilo de tabela e definir suas propriedades.

  2. Crie um estilo de coluna e definir suas propriedades.

  3. Adicione o estilo de coluna para a coleção de estilos de coluna do estilo de tabela.

  4. Adicione o estilo de tabela à coleção de estilos de tabela da grade de dados.

  5. No exemplo a seguir, crie uma instância de uma nova DataGridTableStyle e defina seu MappingName propriedade.

  6. Criar uma nova instância de um GridColumnStyle e defina seu MappingName (e algumas propriedades de layout e exibição).

  7. Repita as etapas 2 a 6 para cada estilo de coluna que você deseja criar.

    O exemplo a seguir ilustra como um DataGridTextBoxColumn é criado, porque é um nome a ser exibido na coluna. Além disso, você adiciona o estilo de coluna para o GridColumnStylesCollection do estilo de tabela, e você adicionar o estilo de tabela para o GridTableStylesCollection da grade de dados.

    Private Sub CreateAuthorFirstNameColumn()
       ' Add a GridTableStyle and set the MappingName 
       ' to the name of the DataTable.
       Dim TSAuthors As New DataGridTableStyle()
       TSAuthors.MappingName = "Authors"
    
       ' Add a GridColumnStyle and set the MappingName 
       ' to the name of a DataColumn in the DataTable. 
       ' Set the HeaderText and Width properties. 
       Dim TCFirstName As New DataGridTextBoxColumn()
       TCFirstName.MappingName = "AV_FName"
       TCFirstName.HeaderText = "First Name"
       TCFirstName.Width = 75
       TSAuthors.GridColumnStyles.Add(TCFirstName)
    
       ' Add the DataGridTableStyle instance to 
       ' the GridTableStylesCollection. 
       myDataGrid.TableStyles.Add(TSAuthors)
    End Sub 
    
    private void addCustomDataTableStyle()
    {
       // Add a GridTableStyle and set the MappingName 
       // to the name of the DataTable.
       DataGridTableStyle TSAuthors = new DataGridTableStyle();
       TSAuthors.MappingName = "Authors";
    
       // Add a GridColumnStyle and set the MappingName 
       // to the name of a DataColumn in the DataTable. 
       // Set the HeaderText and Width properties. 
       DataGridColumnStyle TCFirstName = new DataGridTextBoxColumn();
       TCFirstName.MappingName = " AV_FName";
       TCFirstName.HeaderText = "First Name";
       TCFirstName.Width = 75;
       TSAuthors.GridColumnStyles.Add(TCFirstName);
    
       // Add the DataGridTableStyle instance to 
       // the GridTableStylesCollection. 
       dataGrid1.TableStyles.Add(TSAuthors);
    }
    
    private:
       void addCustomDataTableStyle()
       {
          // Add a GridTableStyle and set the MappingName 
          // to the name of the DataTable.
          DataGridTableStyle^ TSAuthors = new DataGridTableStyle();
          TSAuthors->MappingName = "Authors";
    
          // Add a GridColumnStyle and set the MappingName 
          // to the name of a DataColumn in the DataTable. 
          // Set the HeaderText and Width properties. 
          DataGridColumnStyle^ TCFirstName = gcnew DataGridTextBoxColumn();
          TCFirstName->MappingName = "AV_FName";
          TCFirstName->HeaderText = "First Name";
          TCFirstName->Width = 75;
          TSAuthors->GridColumnStyles->Add(TCFirstName);
    
          // Add the DataGridTableStyle instance to 
          // the GridTableStylesCollection. 
          dataGrid1->TableStyles->Add(TSAuthors);
       }
    

Consulte também

Tarefas

Como: Excluir ou ocultar colunas no controle Windows Forms DataGrid

Referência

GridTableStylesCollection

GridColumnStylesCollection

DataGrid

Outros recursos

Controle DataGrid (Windows Forms)