共用方式為


HOW TO:設定 Windows Form DataGridView 控制項的預設儲存格樣式

更新:2007 年 11 月

您可以使用 DataGridView 控制項為整個控制項,或為特定的資料行和資料列指定預設的儲存格樣式。這些預設值會從控制項層級往下篩選至資料行層級,接著至資料列層級,然後至儲存格層級。如果特定的 DataGridViewCellStyle 屬性未設定在儲存格層級,便會使用資料列層級的預設屬性設定。如果屬性也未設定在資料列層級,就會使用預設的資料行設定。最後,如果屬性也未設定在資料行層級,那就會使用預設的 DataGridView 設定。使用這個設定,您可以避免必須在多個層級上重複屬性設定的狀況。只需在每個層級上指定不同於上一層級的樣式。如需詳細資訊,請參閱 Windows Form DataGridView 控制項中的儲存格樣式

Visual Studio 中對此工作有相當廣泛的支援。

若要以程式設計方式設定預設的儲存格樣式

  1. 設定透過 DataGridView.DefaultCellStyle 屬性擷取的 DataGridViewCellStyle 的屬性。

    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. 建立並初始化新的 DataGridViewCellStyle 物件,以供多個資料列和資料行使用。

    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. 設定特定的資料列和資料行的 DefaultCellStyle 屬性。

    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;
    

範例

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;
}

編譯程式碼

這項範例需要:

穩固程式設計

若要在您使用非常大量的資料集時達到最大延展性 (Scalability),您應該共用使用相同樣式的多個資料列、資料行或儲存格之間的 DataGridViewCellStyle 物件,而不是分別設定每一個項目的樣式屬性。此外,您應該建立共用資料列,並使用 DataGridViewRowCollection.SharedRow 屬性來加以存取。如需詳細資訊,請參閱縮放 Windows Form DataGridView 控制項的最佳作法

請參閱

工作

HOW TO:設定 Windows Form DataGridView 控制項的替代資料列樣式

概念

Windows Form DataGridView 控制項中的儲存格樣式

縮放 Windows Form DataGridView 控制項的最佳作法

參考

DataGridView

DataGridViewCellStyle

DataGridView.DefaultCellStyle

DataGridViewBand.DefaultCellStyle

其他資源

Windows Form DataGridView 控制項中的基本格式化和樣式設定