Como: Definir estilos de célula padrão para o controle DataGridView do Windows Forms

Com o DataGridView o controle, você pode especificar estilos de célula padrão para todo o controle e colunas específicas e linhas. Filtrar esses padrões para baixo do nível de controle para o nível de coluna e o nível de linha, em seguida para o nível da célula. Se um determinado DataGridViewCellStyle propriedade não está definida no nível da célula, a configuração da propriedade no nível de linha padrão é usada. Se a propriedade também não é definida no nível de linha, a configuração de coluna padrão é usada. Finalmente, se a propriedade não também é definida no nível de coluna, o padrão DataGridView configuração é usada. Com essa configuração, você pode evitar a necessidade de duplicar as configurações de propriedade em vários níveis. Em cada nível, basta Especifica os estilos que diferem dos níveis acima dele. Para obter mais informações, consulte Estilos de célula em que o controle DataGridView do Windows Forms.

Não há suporte extensivo para essa tarefa em Visual Studio. Para obter mais informações, consulte Como: Set Cell Default Estilos Formats Data for the Control DataGridView Windows Forms Using the Designer and e Como: Set Cell Default Estilos Formats Data for the Control DataGridView Windows Forms Using the Designer and e Como: Set Cell Default Estilos Formats Data for the Control DataGridView Windows Forms Using the Designer and e Como: conjunto estilos de célula padrão e formatos de dados para o controle DataGridView do Windows Forms usando o Designer e Como: Definir estilos de célula padrão e formatos de dados para o controle DataGridView do Windows Forms usando o Designer.

Para definir estilos de célula padrão programaticamente

  1. Defina as propriedades da DataGridViewCellStyle recuperados através de DataGridView.DefaultCellStyle propriedade.

    Me.dataGridView1.DefaultCellStyle.BackColor = Color.Beige
    Me.dataGridView1.DefaultCellStyle.Font = New Font("Tahoma", 12)
    
    this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige;
    this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);
    
  2. Criar e inicializar novos DataGridViewCellStyle objetos para usam várias linhas e colunas.

    Dim highlightCellStyle As New DataGridViewCellStyle
    highlightCellStyle.BackColor = Color.Red
    
    Dim currencyCellStyle As New DataGridViewCellStyle
    currencyCellStyle.Format = "C"
    currencyCellStyle.ForeColor = Color.Green
    
    DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle();
    highlightCellStyle.BackColor = Color.Red;
    
    DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle();
    currencyCellStyle.Format = "C";
    currencyCellStyle.ForeColor = Color.Green;
    
  3. Definir o DefaultCellStyle propriedade de linhas e colunas.

    With Me.dataGridView1
        .Rows(3).DefaultCellStyle = highlightCellStyle
        .Rows(8).DefaultCellStyle = highlightCellStyle
        .Columns("UnitPrice").DefaultCellStyle = currencyCellStyle
        .Columns("TotalPrice").DefaultCellStyle = currencyCellStyle
    End With
    
    this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle =
        currencyCellStyle;
    this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle =
        currencyCellStyle;
    

Exemplo

Private Sub SetDefaultCellStyles()

    Dim highlightCellStyle As New DataGridViewCellStyle
    highlightCellStyle.BackColor = Color.Red

    Dim currencyCellStyle As New DataGridViewCellStyle
    currencyCellStyle.Format = "C"
    currencyCellStyle.ForeColor = Color.Green

    With Me.dataGridView1
        .DefaultCellStyle.BackColor = Color.Beige
        .DefaultCellStyle.Font = New Font("Tahoma", 12)
        .Rows(3).DefaultCellStyle = highlightCellStyle
        .Rows(8).DefaultCellStyle = highlightCellStyle
        .Columns("UnitPrice").DefaultCellStyle = currencyCellStyle
        .Columns("TotalPrice").DefaultCellStyle = currencyCellStyle
    End With

End Sub
private void SetDefaultCellStyles()
{
    this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige;
    this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);

    DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle();
    highlightCellStyle.BackColor = Color.Red;

    DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle();
    currencyCellStyle.Format = "C";
    currencyCellStyle.ForeColor = Color.Green;

    this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle =
        currencyCellStyle;
    this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle =
        currencyCellStyle;
}

Compilando o código

Este exemplo requer:

Programação robusta

Para obter escalabilidade máxima quando você trabalha com grandes conjuntos de dados, você deve compartilhar DataGridViewCellStyle objetos através de várias linhas, colunas ou células que usam os mesmos estilos, em vez de definir as propriedades de estilo para elementos individuais separadamente. Além disso, você deve criar linhas compartilhadas e acessá-los usando o DataGridViewRowCollection.SharedRow propriedade. Para obter mais informações, consulte Práticas recomendadas para escala o controle DataGridView do Windows Forms.

Consulte também

Tarefas

Como: Definir alternando os estilos de linha para o controle DataGridView do Windows Forms

Referência

DataGridView

DataGridViewCellStyle

DataGridView.DefaultCellStyle

DataGridViewBand.DefaultCellStyle

Conceitos

Estilos de célula em que o controle DataGridView do Windows Forms

Práticas recomendadas para escala o controle DataGridView do Windows Forms

Outros recursos

Formatação básica e o controle DataGridView do Windows Forms de estilo